diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 8e5e533e9f2e143f0e2ca7e9b2dc88d384a80e9f..cec336d6d7b7b892ef23860e00abb99763175f3e 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -1701,6 +1701,10 @@ Sun Oct 26 10:47:05 CET 2003 Thu Oct 30 11:12:37 CET 2003 - Applied patch by Dave Cramer fixing several bugs in compatlib. + +Fri Oct 31 15:09:22 CET 2003 + + - If EOF is found inside a string/comment/etc. stop parsing. - Set ecpg version to 3.0.0 - Set ecpg library to 4.0.0 - Set pgtypes library to 1.0.0 diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index eda6706ea27fbf01206028fcafbfb402da06d0ca..0302e2bceaba66ad85a3d77b2cb04b81c942850c 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.121 2003/10/19 13:22:33 meskes Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.122 2003/10/31 14:10:41 meskes Exp $ * *------------------------------------------------------------------------- */ @@ -328,7 +328,7 @@ cppline {space}*#(.*\\{space})+.* <xc>{xcinside} { ECHO; } <xc>{op_chars} { ECHO; } -<xc><<EOF>> { mmerror(PARSE_ERROR, ET_ERROR, "Unterminated /* comment"); } +<xc><<EOF>> { mmerror(PARSE_ERROR, ET_FATAL, "Unterminated /* comment"); } <SQL>{xbstart} { token_start = yytext; @@ -348,7 +348,7 @@ cppline {space}*#(.*\\{space})+.* <xb>{xbinside} { addlit(yytext, yyleng); } <xh>{xhcat} | <xb>{xbcat} { /* ignore */ } -<xb><<EOF>> { mmerror(PARSE_ERROR, ET_ERROR, "Unterminated bit string"); } +<xb><<EOF>> { mmerror(PARSE_ERROR, ET_FATAL, "Unterminated bit string"); } <SQL>{xhstart} { token_start = yytext; @@ -361,7 +361,7 @@ cppline {space}*#(.*\\{space})+.* return XCONST; } -<xh><<EOF>> { mmerror(PARSE_ERROR, ET_ERROR, "Unterminated hexadecimal integer"); } +<xh><<EOF>> { mmerror(PARSE_ERROR, ET_FATAL, "Unterminated hexadecimal integer"); } <SQL>{xnstart} { /* National character. * Need to remember type info to flow it forward into the parser. @@ -386,9 +386,9 @@ cppline {space}*#(.*\\{space})+.* <xq>{xqinside} { addlit(yytext, yyleng); } <xq>{xqescape} { addlit(yytext, yyleng); } <xq>{xqoctesc} { addlit(yytext, yyleng); } -<xq>{xqcat} { /* ignore */ } +<xq>{xqcat} { /* ignore */ } -<xq><<EOF>> { mmerror(PARSE_ERROR, ET_ERROR, "Unterminated quoted string"); } +<xq><<EOF>> { mmerror(PARSE_ERROR, ET_FATAL, "Unterminated quoted string"); } <SQL>{xdstart} { state_before = YYSTATE; @@ -409,7 +409,7 @@ cppline {space}*#(.*\\{space})+.* } <xd>{xddouble} { addlitchar('"'); } <xd>{xdinside} { addlit(yytext, yyleng); } -<xd,xdc><<EOF>> { mmerror(PARSE_ERROR, ET_ERROR, "Unterminated quoted identifier"); } +<xd,xdc><<EOF>> { mmerror(PARSE_ERROR, ET_FATAL, "Unterminated quoted identifier"); } <C,SQL>{xdstart} { state_before = YYSTATE; BEGIN(xdc);