X-Git-Url: https://git.sven.stormbind.net/?p=sven%2Fexfat-utils.git;a=blobdiff_plain;f=debian%2Fpatches%2Futf16-fix;fp=debian%2Fpatches%2Futf16-fix;h=10bce321e4a7a970f482c5e6d603cb59557f4d84;hp=0000000000000000000000000000000000000000;hb=8bf2db5fea62e7a86030ce5affca82db6b58625f;hpb=f2245492383ffcdf4412de9a2306328f39c94e92 diff --git a/debian/patches/utf16-fix b/debian/patches/utf16-fix new file mode 100644 index 0000000..10bce32 --- /dev/null +++ b/debian/patches/utf16-fix @@ -0,0 +1,22 @@ +Applied upstream in r283. +http://code.google.com/p/exfat/source/detail?r=283 +Closes Debian bug #672898. +Thanks to Vladimir Serbinenko . +--- a/libexfat/utf.c ++++ b/libexfat/utf.c +@@ -89,6 +89,7 @@ static const le16_t* utf16_to_wchar(cons + return NULL; + *wc = ((wchar_t) (le16_to_cpu(input[0]) & 0x3ff) << 10); + *wc |= (le16_to_cpu(input[1]) & 0x3ff); ++ *wc += 0x10000; + return input + 2; + } + else +@@ -186,6 +187,7 @@ static le16_t* wchar_to_utf16(le16_t* ou + } + if (outsize < 2) + return NULL; ++ wc -= 0x10000; + output[0] = cpu_to_le16(0xd800 | ((wc >> 10) & 0x3ff)); + output[1] = cpu_to_le16(0xdc00 | (wc & 0x3ff)); + return output + 2;