diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2008-10-29 08:04:54 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2008-10-29 08:04:54 +0000 |
commit | 06735e32566ca2250afdc371b8b2521ee07ad922 (patch) | |
tree | 0ce96005b5ea63fcb9295f21a595dd376ed3b74d /src/backend/utils/adt/xml.c | |
parent | 05bba3d176e0adc1a032d5c8c6ea2a7622c7dd0d (diff) | |
download | postgresql-06735e32566ca2250afdc371b8b2521ee07ad922.tar.gz postgresql-06735e32566ca2250afdc371b8b2521ee07ad922.zip |
Unicode escapes in strings and identifiers
Diffstat (limited to 'src/backend/utils/adt/xml.c')
-rw-r--r-- | src/backend/utils/adt/xml.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index e728e1254f5..c346299caa8 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.79 2008/10/14 17:12:33 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.80 2008/10/29 08:04:53 petere Exp $ * *------------------------------------------------------------------------- */ @@ -1497,28 +1497,7 @@ unicode_to_sqlchar(pg_wchar c) { static unsigned char utf8string[5]; /* need trailing zero */ - if (c <= 0x7F) - { - utf8string[0] = c; - } - else if (c <= 0x7FF) - { - utf8string[0] = 0xC0 | ((c >> 6) & 0x1F); - utf8string[1] = 0x80 | (c & 0x3F); - } - else if (c <= 0xFFFF) - { - utf8string[0] = 0xE0 | ((c >> 12) & 0x0F); - utf8string[1] = 0x80 | ((c >> 6) & 0x3F); - utf8string[2] = 0x80 | (c & 0x3F); - } - else - { - utf8string[0] = 0xF0 | ((c >> 18) & 0x07); - utf8string[1] = 0x80 | ((c >> 12) & 0x3F); - utf8string[2] = 0x80 | ((c >> 6) & 0x3F); - utf8string[3] = 0x80 | (c & 0x3F); - } + unicode_to_utf8(c, utf8string); return (char *) pg_do_encoding_conversion(utf8string, pg_mblen((char *) utf8string), |