summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_mchain.c
diff options
context:
space:
mode:
authorkevlo <kevlo@FreeBSD.org>2011-11-18 03:05:20 +0000
committerkevlo <kevlo@FreeBSD.org>2011-11-18 03:05:20 +0000
commit1a26b28a9b13239c0dcae74ac1f94a5969fd2b3c (patch)
tree91e05f3019c9e61d84d991446d61ad595184fef3 /sys/kern/subr_mchain.c
parent3985e4e2af3096b00750b1a32f61f92d109f9372 (diff)
downloadFreeBSD-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/kern/subr_mchain.c')
-rw-r--r--sys/kern/subr_mchain.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/kern/subr_mchain.c b/sys/kern/subr_mchain.c
index e40e5ff..3fd265b 100644
--- a/sys/kern/subr_mchain.c
+++ b/sys/kern/subr_mchain.c
@@ -128,6 +128,21 @@ mb_reserve(struct mbchain *mbp, int size)
}
int
+mb_put_padbyte(struct mbchain *mbp)
+{
+ caddr_t dst;
+ char x = 0;
+
+ dst = mtod(mbp->mb_cur, caddr_t) + mbp->mb_cur->m_len;
+
+ /* only add padding if address is odd */
+ if ((unsigned long)dst & 1)
+ return mb_put_mem(mbp, (caddr_t)&x, 1, MB_MSYSTEM);
+ else
+ return 0;
+}
+
+int
mb_put_uint8(struct mbchain *mbp, uint8_t x)
{
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM);
OpenPOWER on IntegriCloud