Alan Stern 74675a5850 NLS: update handling of Unicode
This patch (as1239) updates the kernel's treatment of Unicode.  The
character-set conversion routines are well behind the current state of
the Unicode specification: They don't recognize the existence of code
points beyond plane 0 or of surrogate pairs in the UTF-16 encoding.

The old wchar_t 16-bit type is retained because it's still used in
lots of places.  This shouldn't cause any new problems; if a
conversion now results in an invalid 16-bit code then before it must
have yielded an undefined code.

Difficult-to-read names like "utf_mbstowcs" are replaced with more
transparent names like "utf8s_to_utf16s" and the ordering of the
parameters is rationalized (buffer lengths come immediate after the
pointers they refer to, and the inputs precede the outputs).
Fortunately the low-level conversion routines are used in only a few
places; the interfaces to the higher-level uni2char and char2uni
methods have been left unchanged.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-15 21:44:43 -07:00
..
2009-06-11 21:36:14 -04:00
2009-06-11 21:36:14 -04:00
2009-06-11 21:36:07 -04:00
2009-06-11 21:36:01 -04:00
2009-06-11 21:36:01 -04:00
2009-06-15 21:44:43 -07:00
2009-06-11 21:36:14 -04:00
2009-06-11 21:36:07 -04:00
2009-05-15 11:24:59 -05:00
2009-06-11 21:36:07 -04:00
2009-04-02 19:05:09 -07:00
2009-06-12 10:02:03 -05:00
2009-06-11 21:36:11 -04:00
2009-06-11 21:36:11 -04:00
2009-06-15 21:44:43 -07:00
2009-06-11 21:36:07 -04:00
2009-06-11 21:36:15 -04:00
2009-06-11 21:36:16 -04:00
2009-06-11 21:36:11 -04:00
2009-05-22 18:40:59 +10:00
2009-06-15 21:44:43 -07:00
2009-06-11 21:36:11 -04:00
2009-06-11 21:36:12 -04:00
2009-06-15 21:44:43 -07:00
2009-06-11 21:36:11 -04:00
2009-06-11 21:36:01 -04:00
2009-06-15 21:44:43 -07:00
2009-06-11 21:36:11 -04:00
2009-06-11 21:36:11 -04:00
2009-06-11 21:36:13 -04:00
2009-06-11 21:36:12 -04:00
2009-06-14 17:58:25 -07:00
2009-06-11 21:36:07 -04:00
2009-06-11 21:36:07 -04:00
2009-06-11 21:36:16 -04:00
2009-06-11 21:36:11 -04:00
2009-06-11 21:36:13 -04:00
2009-06-11 21:36:16 -04:00
2009-03-27 14:44:03 -04:00
2008-12-31 18:07:43 -05:00
2009-01-03 11:45:54 -08:00
2009-03-31 23:00:27 -04:00
2009-06-11 21:36:06 -04:00
2009-04-02 19:04:48 -07:00
2009-03-31 23:00:26 -04:00
2009-06-11 21:36:07 -04:00
2009-06-11 21:36:11 -04:00
2009-04-07 08:31:16 -07:00
2009-06-11 21:36:01 -04:00
2009-06-11 21:36:08 -04:00
2009-06-11 21:36:02 -04:00
2009-04-20 23:02:52 -04:00
2009-06-11 21:36:11 -04:00
2009-02-18 15:37:53 -08:00
2009-06-11 21:36:02 -04:00