diff options
| author | Bruce Momjian <bruce@momjian.us> | 2005-06-02 01:23:48 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2005-06-02 01:23:48 +0000 |
| commit | b51366396b0e150c18ea62006b24a610c5a7f8d8 (patch) | |
| tree | d0f661b9e898f1705c1d4ccc825fd19ab3e5f24c /src | |
| parent | 65537ac1b41f18e029b8172b8308189434c310d6 (diff) | |
| download | postgresql-b51366396b0e150c18ea62006b24a610c5a7f8d8.tar.gz | |
Add support for \x hex strings in psql variables.
Diffstat (limited to 'src')
| -rw-r--r-- | src/bin/psql/psqlscan.l | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/bin/psql/psqlscan.l b/src/bin/psql/psqlscan.l index 4159ee0220..d0e1dc80d2 100644 --- a/src/bin/psql/psqlscan.l +++ b/src/bin/psql/psqlscan.l @@ -33,7 +33,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/psql/psqlscan.l,v 1.12 2005/05/30 16:48:47 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/psqlscan.l,v 1.13 2005/06/02 01:23:48 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -250,8 +250,9 @@ xnstart [nN]{quote} xqstart {quote} xqdouble {quote}{quote} xqinside [^\\']+ -xqescape [\\][^0-7] +xqescape [\\][^0-7x] xqoctesc [\\][0-7]{1,3} +xqhexesc [\\]x[0-9A-Fa-f]{1,2} /* $foo$ style quotes ("dollar quoting") * The quoted string starts with $foo$ where "foo" is an optional string @@ -467,6 +468,9 @@ other . <xq>{xqoctesc} { ECHO; } +<xq>{xqhexesc} { + ECHO; + } <xq>{quotecontinue} { ECHO; } @@ -855,6 +859,12 @@ other . (char) strtol(yytext + 1, NULL, 8)); } +{xqhexesc} { + /* hex case */ + appendPQExpBufferChar(output_buf, + (char) strtol(yytext + 2, NULL, 16)); + } + "\\". { emit(yytext + 1, 1); } {other}|\n { ECHO; } |
