aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2010-12-23 12:41:12 +0100
committerMichael Meskes <meskes@postgresql.org>2010-12-23 20:37:42 +0100
commit727a5a1620dd9f84036f8094f99a6ea494143bef (patch)
tree8309d3cb60ad9c6a1f7d4ed5a05b90de243a6c99
parent9de3aa65f01fb51cbc725e8508ea233e4e92c46c (diff)
downloadpostgresql-727a5a1620dd9f84036f8094f99a6ea494143bef.tar.gz
postgresql-727a5a1620dd9f84036f8094f99a6ea494143bef.zip
Added rule to ecpg lexer to accept "Unicode surrogate pair in extended quoted
string". This is not really needed because the string gets copied to the output untranslated anyway, but by adding this rule the lexer stays in sync with the backend lexer.
-rw-r--r--src/interfaces/ecpg/preproc/pgc.l2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
index b7e46866f72..f528f214c0e 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -146,6 +146,7 @@ xeinside [^\\']+
xeescape [\\][^0-7]
xeoctesc [\\][0-7]{1,3}
xehexesc [\\]x[0-9A-Fa-f]{1,2}
+xeunicode [\\](u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})
/* C version of hex number */
xch 0[xX][0-9A-Fa-f]*
@@ -505,6 +506,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})(.*\\{space})*.
}
<xq,xqc,xn,xus>{xqinside} { addlit(yytext, yyleng); }
<xe>{xeinside} { addlit(yytext, yyleng); }
+<xe>{xeunicode} { addlit(yytext, yyleng); }
<xe>{xeescape} { addlit(yytext, yyleng); }
<xe>{xeoctesc} { addlit(yytext, yyleng); }
<xe>{xehexesc} { addlit(yytext, yyleng); }