Fix in oracle_compat.c

From: jwieck(at)debis(dot)com (Jan Wieck)
To: pgsql-hackers(at)postgreSQL(dot)org (PostgreSQL HACKERS)
Subject: Fix in oracle_compat.c
Date: 1998-08-11 14:15:31
Message-ID: m0z6FD3-000EBPC@orion.SAPserv.Hamburg.dsh.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

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(at)debis(dot)com (Jan Wieck) #

*** oracle_compat.c.orig Tue Aug 11 16:07:48 1998
--- oracle_compat.c Tue Aug 11 16:08:37 1998
***************
*** 297,303 ****
break;
++ptr2;
}
! if (*ptr != *ptr2)
break;
ptr++;
ptr2 = VARDATA(set);
--- 297,303 ----
break;
++ptr2;
}
! if (ptr2 > end2)
break;
ptr++;
ptr2 = VARDATA(set);
***************
*** 316,322 ****
break;
++ptr2;
}
! if (*end != *ptr2)
break;
--end;
ptr2 = VARDATA(set);
--- 316,322 ----
break;
++ptr2;
}
! if (ptr2 > end2)
break;
--end;
ptr2 = VARDATA(set);
***************
*** 374,380 ****
break;
++ptr2;
}
! if (*ptr != *ptr2)
break;
ptr++;
ptr2 = VARDATA(set);
--- 374,380 ----
break;
++ptr2;
}
! if (ptr2 > end2)
break;
ptr++;
ptr2 = VARDATA(set);
***************
*** 434,440 ****
break;
++ptr2;
}
! if (*ptr != *ptr2)
break;
--ptr;
ptr2 = VARDATA(set);
--- 434,440 ----
break;
++ptr2;
}
! if (ptr2 > end2)
break;
--ptr;
ptr2 = VARDATA(set);

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-08-11 14:37:56 Re: [HACKERS] Fix in oracle_compat.c
Previous Message The Hermit Hacker 1998-08-11 12:39:59 Re: [HACKERS] 6.3.2. patch for functional indices