diff options
author | semenu <semenu@FreeBSD.org> | 2001-09-08 23:03:52 +0000 |
---|---|---|
committer | semenu <semenu@FreeBSD.org> | 2001-09-08 23:03:52 +0000 |
commit | 8c98d68610fb0ec072a45372df6fae9ec3afd215 (patch) | |
tree | 19a136464adf6bfe402fbab8c1d2c88463c6d7e7 /sys/fs/ntfs/ntfs_vfsops.c | |
parent | 22c38894cbd19ca224d48e51045206a9406b5c0f (diff) | |
download | FreeBSD-src-8c98d68610fb0ec072a45372df6fae9ec3afd215.zip FreeBSD-src-8c98d68610fb0ec072a45372df6fae9ec3afd215.tar.gz |
Stole unicode translation table from mount_msdos. Add kernel code
to support this translation.
MFC after: 2 weeks
Diffstat (limited to 'sys/fs/ntfs/ntfs_vfsops.c')
-rw-r--r-- | sys/fs/ntfs/ntfs_vfsops.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/fs/ntfs/ntfs_vfsops.c b/sys/fs/ntfs/ntfs_vfsops.c index 94af95b..26a09b8 100644 --- a/sys/fs/ntfs/ntfs_vfsops.c +++ b/sys/fs/ntfs/ntfs_vfsops.c @@ -501,6 +501,17 @@ ntfs_mountfs(devvp, mp, argsp, p) ntmp->ntm_gid = argsp->gid; ntmp->ntm_mode = argsp->mode; ntmp->ntm_flag = argsp->flag; + + /* Copy in the 8-bit to Unicode conversion table */ + if (argsp->flag & NTFSMNT_U2WTABLE) { + ntfs_82u_init(ntmp, argsp->u2w); + } else { + ntfs_82u_init(ntmp, NULL); + } + + /* Initialize Unicode to 8-bit table from 8toU table */ + ntfs_u28_init(ntmp, ntmp->ntm_82u); + mp->mnt_data = (qaddr_t)ntmp; dprintf(("ntfs_mountfs(): case-%s,%s uid: %d, gid: %d, mode: %o\n", @@ -697,6 +708,8 @@ ntfs_unmount( ntfs_toupper_unuse(); dprintf(("ntfs_umount: freeing memory...\n")); + ntfs_u28_uninit(ntmp); + ntfs_82u_uninit(ntmp); mp->mnt_data = (qaddr_t)0; mp->mnt_flag &= ~MNT_LOCAL; FREE(ntmp->ntm_ad, M_NTFSMNT); |