diff options
author | kevlo <kevlo@FreeBSD.org> | 2011-11-18 03:05:20 +0000 |
---|---|---|
committer | kevlo <kevlo@FreeBSD.org> | 2011-11-18 03:05:20 +0000 |
commit | 1a26b28a9b13239c0dcae74ac1f94a5969fd2b3c (patch) | |
tree | 91e05f3019c9e61d84d991446d61ad595184fef3 /sys/netsmb/smb_subr.c | |
parent | 3985e4e2af3096b00750b1a32f61f92d109f9372 (diff) | |
download | FreeBSD-src-1a26b28a9b13239c0dcae74ac1f94a5969fd2b3c.zip FreeBSD-src-1a26b28a9b13239c0dcae74ac1f94a5969fd2b3c.tar.gz |
Add unicode support to msdosfs and smbfs; original pathes from imura,
bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>.
Tested by me in production for several days at work.
Diffstat (limited to 'sys/netsmb/smb_subr.c')
-rw-r--r-- | sys/netsmb/smb_subr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netsmb/smb_subr.c b/sys/netsmb/smb_subr.c index c92f865..3846b75 100644 --- a/sys/netsmb/smb_subr.c +++ b/sys/netsmb/smb_subr.c @@ -350,6 +350,8 @@ smb_put_dmem(struct mbchain *mbp, struct smb_vc *vcp, const char *src, } mbp->mb_copy = smb_copy_iconv; mbp->mb_udata = dp; + if (SMB_UNICODE_STRINGS(vcp)) + mb_put_padbyte(mbp); return mb_put_mem(mbp, src, size, MB_MCUSTOM); } @@ -362,6 +364,8 @@ smb_put_dstring(struct mbchain *mbp, struct smb_vc *vcp, const char *src, error = smb_put_dmem(mbp, vcp, src, strlen(src), caseopt); if (error) return error; + if (SMB_UNICODE_STRINGS(vcp)) + return mb_put_uint16le(mbp, 0); return mb_put_uint8(mbp, 0); } |