Changeset: 65609602b082 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=65609602b082
Modified Files:
clients/odbc/driver/ODBCUtil.c
Branch: Jul2012
Log Message:
Correct test for high and low surrogates encoded in UTF-8.
This should fix bug 3100.
diffs (22 lines):
diff --git a/clients/odbc/driver/ODBCUtil.c b/clients/odbc/driver/ODBCUtil.c
--- a/clients/odbc/driver/ODBCUtil.c
+++ b/clients/odbc/driver/ODBCUtil.c
@@ -224,14 +224,14 @@ ODBCutf82wchar(const SQLCHAR *s,
c |= *s++ & 0x3F;
}
}
- if ((c & 0xF8) == 0xD8) {
- /* UTF-8 encoded high or low surrogate */
- return "Illegal code point";
- }
if (c > 0x10FFFF) {
/* cannot encode as UTF-16 */
return "Codepoint too large to be representable in
UTF-16";
}
+ if ((c & 0x1FFF800) == 0xD800) {
+ /* UTF-8 encoded high or low surrogate */
+ return "Illegal code point";
+ }
if (c <= 0xFFFF) {
if (--buflen > 0 && p != NULL)
*p++ = c;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list