diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 55c1cfde8b97e15f98cbf57e19c032c967c00525..53c81753edc898462ef8a32ca3b72922b5dbbf59 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -631,3 +631,10 @@ Tue Sep 14 22:26:40 CEST 1999 - Return OID in sqlca.sqlerrd[1] if possible. - Set ecpg version to 2.6.3 - Set library version to 3.0.2 + +Fri Sep 17 07:43:55 CEST 1999 + + - Fixed bug in parsing C strings. + - Fixed bug in parsing operators. + - Set ecpg version to 2.6.4 + diff --git a/src/interfaces/ecpg/include/sqlca.h b/src/interfaces/ecpg/include/sqlca.h index 003d6ebff8bc162fa1d88dea0c056d4c05afab4d..4e6534c8e4f775178ff9277620ee16bd8c75da67 100644 --- a/src/interfaces/ecpg/include/sqlca.h +++ b/src/interfaces/ecpg/include/sqlca.h @@ -19,7 +19,7 @@ extern "C" char sqlerrp[8]; long sqlerrd[6]; /* Element 0: empty */ - /* 1: OID of processed tuple if applicable */ + /* 1: OID of processed tuple if applicable */ /* 2: number of rows processed */ /* after an INSERT, UPDATE or */ /* DELETE statement */ diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile index b7894548aef6861491aa4e294d087f3ded09f194..117e2527afe833c28d9077d92447b143fb8031aa 100644 --- a/src/interfaces/ecpg/preproc/Makefile +++ b/src/interfaces/ecpg/preproc/Makefile @@ -3,7 +3,7 @@ include $(SRCDIR)/Makefile.global MAJOR_VERSION=2 MINOR_VERSION=6 -PATCHLEVEL=3 +PATCHLEVEL=4 CFLAGS+=-I../include -DMAJOR_VERSION=$(MAJOR_VERSION) \ -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \ diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index f583a60294b8ac834814b8f5863fd904b28aff59..71fd39a1086a1c8aedaa2e09747e93f18e74d2eb 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -110,9 +110,13 @@ xqcat {quote}{space}*\n{space}*{quote} dquote \" xdstart {dquote} xdstop {dquote} -xdcqdq \\\" xdinside [^"]* -xdcinside ({xdinside}|{xdcqdq})* + +/* special stuff for C strings */ +xdcqq \\\\ +xdcqdq \\\" +xdcother [^"] +xdcinside ({xdcqq}|{xdcqdq}|{xdcother}) /* Comments * Ignored by the scanner and parser. @@ -133,7 +137,7 @@ identifier {letter}{letter_or_digit}* typecast "::" self [,()\[\].;$\:\+\-\*\/\%\^\<\>\=\|] -op_and_self [\~\!\@\#\^\&\|\?\$\:\+\-\*\/\%\<\>\=] +op_and_self [\~\!\@\#\^\&\|\`\?\$\:\+\-\*\/\%\<\>\=] operator {op_and_self}+ xmstop - @@ -287,7 +291,6 @@ cppline {space}*#.*(\\{space}*\n)*\n* memcpy(literal+llen, yytext, yyleng+1); llen += yyleng; } - <xm>{space}* { /* ignore */ } <xm>{xmstop} { BEGIN(SQL);