diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 52b148951e86753fa91f9c2c3012911694ae1229..780cea362f77c07d55a61644ab46faf1dee6f30a 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -599,5 +599,9 @@ Thu Jun 10 21:09:12 CEST 1999 Wed Jun 16 20:21:42 CEST 1999 - Fixed another typo in preproc.y. + +Thu Jun 24 18:06:43 CEST 1999 + + - Fixed C comment bug that caused ecpg to not accept quoted quotes. - Set library version to 3.0.0 - Set ecpg version to 2.6.0 diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index d942a65b3ea304bf1bf1a0f8c28837f7529114c7..071dc4731d0fd731a2dd2098b0ce1cab98a2696b 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -119,7 +119,9 @@ xqcat {quote}{space}*\n{space}*{quote} dquote \" xdstart {dquote} xdstop {dquote} +xdcqdq \\\" xdinside [^"]* +xdcinside ({xdinside}|{xdcqdq})* /* Comments * Ignored by the scanner and parser. @@ -287,7 +289,7 @@ cppline {space}*#.*(\\{space}*\n)*\n* yylval.str = mm_strdup(literal); return CSTRING; } -<xdc>{xdinside} { +<xdc>{xdcinside} { if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1)) yyerror("ERROR: quoted string parse buffer exceeded"); memcpy(literal+llen, yytext, yyleng+1);