aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-08-11 18:38:07 +0000
committerBruce Momjian <bruce@momjian.us>1998-08-11 18:38:07 +0000
commitf22c6f9237d02267071a2edab212bd398014d733 (patch)
treef85c23d7e53e34da4d02756a07974fa0dcfdae86
parentc6dd1e63a951ba4b529ed292f88fba28de70df78 (diff)
downloadpostgresql-f22c6f9237d02267071a2edab212bd398014d733.tar.gz
postgresql-f22c6f9237d02267071a2edab212bd398014d733.zip
the following patch fixes a bug in the oracle compatibility
functions btrim() ltrim() and rtrim(). The error was that the character after the set was included in the tests (ptr2 pointed to the character after the vardata part of set if no match found, so comparing *ptr or *end against *ptr2 MAY match -> strip). Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #======================================== jwieck@debis.com (Jan Wieck) #
-rw-r--r--src/backend/utils/adt/oracle_compat.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/utils/adt/oracle_compat.c b/src/backend/utils/adt/oracle_compat.c
index d056652ed02..2297d3246c1 100644
--- a/src/backend/utils/adt/oracle_compat.c
+++ b/src/backend/utils/adt/oracle_compat.c
@@ -1,7 +1,7 @@
/*
* Edmund Mergl <E.Mergl@bawue.de>
*
- * $Id: oracle_compat.c,v 1.14 1998/06/15 19:29:36 momjian Exp $
+ * $Id: oracle_compat.c,v 1.15 1998/08/11 18:38:07 momjian Exp $
*
*/
@@ -297,7 +297,7 @@ btrim(text *string, text *set)
break;
++ptr2;
}
- if (*ptr != *ptr2)
+ if (ptr2 > end2)
break;
ptr++;
ptr2 = VARDATA(set);
@@ -316,7 +316,7 @@ btrim(text *string, text *set)
break;
++ptr2;
}
- if (*end != *ptr2)
+ if (ptr2 > end2)
break;
--end;
ptr2 = VARDATA(set);
@@ -374,7 +374,7 @@ ltrim(text *string, text *set)
break;
++ptr2;
}
- if (*ptr != *ptr2)
+ if (ptr2 > end2)
break;
ptr++;
ptr2 = VARDATA(set);
@@ -434,7 +434,7 @@ rtrim(text *string, text *set)
break;
++ptr2;
}
- if (*ptr != *ptr2)
+ if (ptr2 > end2)
break;
--ptr;
ptr2 = VARDATA(set);