X-Git-Url: http://git.sven.stormbind.net/?a=blobdiff_plain;f=debian%2Fpatches%2Futf16-fix;fp=debian%2Fpatches%2Futf16-fix;h=10bce321e4a7a970f482c5e6d603cb59557f4d84;hb=13f208f37be4fc6563177cf4876e05393f65913f;hp=0000000000000000000000000000000000000000;hpb=3f9ffe34d75ad07887023f5c0735959283da56e6;p=sven%2Ffuse-exfat.git 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;