From 0edf928f58c86037818ea1d08e092fb0ba605f91 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Wed, 22 Nov 2000 13:35:35 +0000
Subject: [PATCH] Fix for bitsubstr when third argument is missing (i.e., -1).
 From Adriaan Joubert <a.joubert@albourne.com>

---
 src/backend/utils/adt/varbit.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c
index 83ee1fce4a4..b33820c83fb 100644
--- a/src/backend/utils/adt/varbit.c
+++ b/src/backend/utils/adt/varbit.c
@@ -9,7 +9,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/varbit.c,v 1.13 2000/11/18 16:18:41 petere Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/varbit.c,v 1.14 2000/11/22 13:35:35 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -764,6 +764,9 @@ bitsubstr(PG_FUNCTION_ARGS)
 			   *ps;
 
 	bitlen = VARBITLEN(arg);
+	/* If we do not have an upper bound, set bitlen */
+	if (l==-1)
+		l = bitlen;
 	e = s + l;
 	s1 = Max(s, 1);
 	e1 = Min(e, bitlen + 1);
-- 
GitLab