From 20103ed026e8dba487110d01e4716fa74e2dec76 Mon Sep 17 00:00:00 2001 From: sobomax Date: Tue, 13 Feb 2001 11:48:31 +0000 Subject: Add a hook for loading of a Unicode -> char conversion routine as a kld at a run-time. This is temporary solution until proper kernel Unicode interfaces are in place and as such was purposely designed to be as tiny as possible (3 lines of the code not counting comments). The port with conversion routines for the most popular single-byte languages will be added later today Reviewed by: bp, "Michael C . Wu" Approved by: bp --- sys/isofs/cd9660/cd9660_util.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sys/isofs/cd9660') diff --git a/sys/isofs/cd9660/cd9660_util.c b/sys/isofs/cd9660/cd9660_util.c index 2a11dc2..56279db 100644 --- a/sys/isofs/cd9660/cd9660_util.c +++ b/sys/isofs/cd9660/cd9660_util.c @@ -47,6 +47,14 @@ #include /* + * XXX: limited support for loading of Unicode + * conversion routine as a kld at a run-time. + * Should be removed when native Unicode kernel + * interfaces have been introduced. + */ +u_char (*cd9660_wchar2char)(u_int32_t wchar) = NULL; + +/* * Get one character out of an iso filename * Obey joliet_level * Return number of bytes consumed @@ -72,6 +80,10 @@ isochar(isofn, isoend, joliet_level, c) *c = *isofn; break; } + /* XXX: if Unicode conversion routine is loaded then use it */ + if (cd9660_wchar2char != NULL) + *c = cd9660_wchar2char((*(isofn - 1) << 8) | *isofn); + return 2; } -- cgit v1.1