If EOF is found inside a string/comment/etc. stop parsing.

This commit is contained in:
Michael Meskes 2003-10-31 14:10:41 +00:00
parent ef1b846daf
commit e6152300f1
2 changed files with 11 additions and 7 deletions

View File

@ -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

View File

@ -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);