forked from pool/iodbc
Update to version 3.52.14 OBS-URL: https://build.opensuse.org/request/show/896404 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/iodbc?expand=0&rev=17
56 lines
1.3 KiB
Diff
56 lines
1.3 KiB
Diff
diff -Nur libiodbc-3.52.14/iodbcinst/unicode.c new/iodbcinst/unicode.c
|
|
--- libiodbc-3.52.14/iodbcinst/unicode.c 2021-02-17 14:39:22.000000000 +0100
|
|
+++ new/iodbcinst/unicode.c 2021-05-31 18:26:17.332781996 +0200
|
|
@@ -688,9 +688,10 @@
|
|
{
|
|
switch(charset)
|
|
{
|
|
- case CP_UTF8: return 1;
|
|
case CP_UTF16: return sizeof(ucs2_t);
|
|
case CP_UCS4: return sizeof(ucs4_t);
|
|
+ case CP_UTF8:
|
|
+ default: return 1;
|
|
}
|
|
}
|
|
|
|
@@ -700,9 +701,10 @@
|
|
{
|
|
switch(charset)
|
|
{
|
|
- case CP_UTF8: return UTF8_MAX_CHAR_LEN;
|
|
case CP_UTF16: return sizeof(ucs2_t) * 2;
|
|
case CP_UCS4: return sizeof(ucs4_t);
|
|
+ case CP_UTF8:
|
|
+ default: return UTF8_MAX_CHAR_LEN;
|
|
}
|
|
}
|
|
|
|
@@ -2131,13 +2133,16 @@
|
|
|
|
switch(charset)
|
|
{
|
|
+ case CP_UTF16: return (SQLWCHAR)u2[pos];
|
|
+ case CP_UCS4: return (SQLWCHAR)u4[pos];
|
|
case CP_UTF8:
|
|
- {
|
|
+ default:
|
|
+ {
|
|
int mask, len, i=0;
|
|
SQLWCHAR wc = 0;
|
|
SQLCHAR *u8str = (SQLCHAR*)str;
|
|
while(i < pos)
|
|
- {
|
|
+ {
|
|
UTF8_COMPUTE(*u8str, mask, len);
|
|
if (len == -1)
|
|
break;
|
|
@@ -2155,8 +2160,6 @@
|
|
}
|
|
return wc;
|
|
}
|
|
- case CP_UTF16: return (SQLWCHAR)u2[pos];
|
|
- case CP_UCS4: return (SQLWCHAR)u4[pos];
|
|
}
|
|
}
|
|
|