RELENG_5_2 ntfs mounting problem
Alexander Zagrebin
alexz at visp.ru
Fri Dec 12 10:30:34 PST 2003
Hi!
The FreeBSD 5.2-RC has problem with russian (cyrillic) file names on NTFS
volumes.
If the file name is "тест" (hex: 0xd4 0xc5 0xd3 0xd4), then after mounting its
name looks like 0xff 0xd4 0xff 0xc5 0xff 0xd3 0xff 0xd4, so file is
inaccessible.
I reason is in function "wchar ntfs_u28" (file ntfs_subr.c).
This function returns value of outbuf (char), converted to wchar. The highest
bit of russian characters (koi8-r encoding) is always 1, so this conversion
works incorrectly (data type char is signed).
This patch solves the problem.
=====================================================
--- ntfs_subr.c.orig Fri Dec 12 12:00:31 2003
+++ ntfs_subr.c Fri Dec 12 11:47:32 2003
@@ -2143,7 +2143,8 @@
struct ntfsmount *ntmp,
wchar wc)
{
- char *p, *outp, inbuf[3], outbuf[3];
+ char *p, *outp, inbuf[3];
+ unsigned char outbuf[3];
size_t ilen, olen;
if (ntfs_iconv && ntmp->ntm_ic_u2l) {
=====================================================
Alexander Zagrebin
--
More information about the freebsd-current
mailing list