summaryrefslogtreecommitdiffstats
path: root/sys/fs/ntfs/ntfs_vfsops.c
diff options
context:
space:
mode:
authorsemenu <semenu@FreeBSD.org>2001-09-08 23:03:52 +0000
committersemenu <semenu@FreeBSD.org>2001-09-08 23:03:52 +0000
commit8c98d68610fb0ec072a45372df6fae9ec3afd215 (patch)
tree19a136464adf6bfe402fbab8c1d2c88463c6d7e7 /sys/fs/ntfs/ntfs_vfsops.c
parent22c38894cbd19ca224d48e51045206a9406b5c0f (diff)
downloadFreeBSD-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.c13
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);
OpenPOWER on IntegriCloud