summaryrefslogtreecommitdiffstats
path: root/sys/fs/ntfs/ntfs_vnops.c
diff options
context:
space:
mode:
authorkevlo <kevlo@FreeBSD.org>2011-11-27 15:43:49 +0000
committerkevlo <kevlo@FreeBSD.org>2011-11-27 15:43:49 +0000
commitd4bd483becb3c4303d13eb71ecf8cafbd7258ac1 (patch)
tree832e685d4019487c6301c776010127818a7d8e28 /sys/fs/ntfs/ntfs_vnops.c
parent5846bf2bc16f98b448da1b644193426d20b75686 (diff)
downloadFreeBSD-src-d4bd483becb3c4303d13eb71ecf8cafbd7258ac1.zip
FreeBSD-src-d4bd483becb3c4303d13eb71ecf8cafbd7258ac1.tar.gz
Add unicode support to ntfs
Obtained from: imura
Diffstat (limited to 'sys/fs/ntfs/ntfs_vnops.c')
-rw-r--r--sys/fs/ntfs/ntfs_vnops.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/fs/ntfs/ntfs_vnops.c b/sys/fs/ntfs/ntfs_vnops.c
index 6970474..3273790 100644
--- a/sys/fs/ntfs/ntfs_vnops.c
+++ b/sys/fs/ntfs/ntfs_vnops.c
@@ -481,7 +481,7 @@ ntfs_readdir(ap)
struct uio *uio = ap->a_uio;
struct ntfsmount *ntmp = ip->i_mp;
int i, j, error = 0;
- wchar c;
+ char *c;
u_int32_t faked = 0, num;
int ncookies = 0;
struct dirent cde;
@@ -538,11 +538,10 @@ ntfs_readdir(ap)
if(!ntfs_isnamepermitted(ntmp,iep))
continue;
- for(i=0, j=0; i<iep->ie_fnamelen; i++, j++) {
+ for(i=0, j=0; i<iep->ie_fnamelen; i++) {
c = NTFS_U28(iep->ie_fname[i]);
- if (c&0xFF00)
- cde.d_name[j++] = (char)(c>>8);
- cde.d_name[j] = (char)c&0xFF;
+ while (*c != '\0')
+ cde.d_name[j++] = *c++;
}
cde.d_name[j] = '\0';
dprintf(("ntfs_readdir: elem: %d, fname:[%s] type: %d, flag: %d, ",
OpenPOWER on IntegriCloud