diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/ecpg/preproc/pgc.l | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index ce1b4eb885a..c86f2cdf1e1 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.135 2005/02/02 15:37:43 meskes Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.136 2005/06/16 01:43:48 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -139,8 +139,9 @@ xqstart {quote} xqstop {quote} xqdouble {quote}{quote} xqinside [^\\']+ -xqescape [\\][^0-7] -xqoctesc [\\][0-7]{1,3} +xqescape [\\][^0-7] +xqoctesc [\\][0-7]{1,3} +xqhexesc [\\]x[0-9A-Fa-f]{1,2} xqcat {quote}{whitespace_with_newline}{quote} /* $foo$ style quotes ("dollar quoting") @@ -400,7 +401,8 @@ cppline {space}*#(.*\\{space})*.*{newline} <xq>{xqdouble} { addlitchar('\''); } <xq>{xqinside} { addlit(yytext, yyleng); } <xq>{xqescape} { addlit(yytext, yyleng); } -<xq>{xqoctesc} { addlit(yytext, yyleng); } +<xq>{xqoctesc} { addlit(yytext, yyleng); } +<xq>{xqhexesc} { addlit(yytext, yyleng); } <xq>{xqcat} { /* ignore */ } <xq>. { /* This is only needed for \ just before EOF */ |