History log of /freebsd-10-stable/sys/sys/iconv.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 300060 17-May-2016 pfg

MFC r298931, r298981, r299375:

Minor spelling fixes in:
sys/dev, sys/sys

Many of these have user-visible strings.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 235711 21-May-2012 kevlo

Fix improper handling of variadic args with ICDEBUG

PR: kern/168095
Submitted by: gcooper


# 227650 18-Nov-2011 kevlo

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.


# 206361 07-Apr-2010 joel

Switch to our preferred 2-clause BSD license.

Approved by: bp


# 194638 22-Jun-2009 delphij

Split tolower/toupper code from usual xlat16 kiconv table, and make it
possible to do tolower/toupper independently without code conversion.

Submitted by: imura (but bugs are mine)
Obtained from: http://people.freebsd.org/~imura/kiconv/
(1_kiconv_wctype_kern.diff, 1_kiconv_wctype_user.diff)


# 149799 05-Sep-2005 imura

Fix panic when loading libiconv.ko on sparc64.
It seems that this issue only become obvious when compiled with -O2
on sparc64.

Since each struct iconv_converter_class has been initialized by
DEFINE_CLASS macro, not all members of struct iconv_converter_class
has been allocated on memory and cc_link member has not been
initialized, while iconv_register_converter() wanted to access it
with TAILQ.
Now we modify KICONV_CONVERTER macro and fix this bug.

Problem reported on: freebsd-sparc64
Pointed out by: yongari
Discussed with: yongari
Tested by: yongari
MFC after: 3 days


# 147746 02-Jul-2005 imura

Switch Unicode charset name from "ISO-10646-UCS-2" to "UTF-16BE".
Using ISO-10646-UCS-2 will cause a problem when we use our own
iconv functions in the future, or port iconv other than GNU
libiconv.

Each vendors treat "UCS-2" as follows, and endian issue is
vendor specific:

- Solaris 8 iconv
Little Endian with BOM

- HP-UX iconv
Big Endian

- NetBSD/i386 1.6 iconv
Little Endian

- GNU libiconv
Big Endian

- glibc(RedHat AS 2.1 x86) iconv
Little Endian

- IANA
Name: ISO-10646-UCS-2
MIBenum: 1000
Source: the 2-octet Basic Multilingual Plane, aka Unicode
this needs to specify network byte order: the standard
does not specify (it is a 16-bit integer space)
Alias: csUnicode

- MSDN
Little Endian
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemtextencodingclassgetencodingtopic2.asp

Now using UTF-16BE is harmless, because
- same as UCS-2 with 2 byte range (U+0000 - U+FFFF)
- kernel code of each file systems(cd9660, msdosfs, ntfs) believes
Unicode is a 2 byte character at this time.
- UDF has only 2 byte range of Unicode filenames.
- It's defined at RFC2781.

So I believe it's time to change before starting new RELENG_6. :)

Approved by: re (scottl)


# 146573 24-May-2005 imura

Fix kiconv on the 64bit plathomes.

- Correct idxp pointer to point the properly address of the
each array of the kiconv character conversion tables,
so that character conversion work properly when file
systems are mounted with kiconv options.

- The definition of ICONV_CSMAXDATALEN was also bogus
because it was defined as if all machines were 32bit
computers.

Tested on: amd64
MFC after: 1 month


# 139825 07-Jan-2005 imp

/* -> /*- for license, minor formatting changes


# 123293 08-Dec-2003 fjoe

Make msdosfs long filenames matching case insensitive again.

PR: 59765
Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 122098 05-Nov-2003 scottl

Include module.h

Submitted by: imura@ryu16.org


# 120492 26-Sep-2003 fjoe

- Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 100080 15-Jul-2002 markm

Convert GNU variadic macros to the ISO 9X variety.


# 97236 24-May-2002 markm

The previous ANSIfication did not take into account earlier,
non-compliant compilers. Revert to the compatible form to allow
upgrade-builds.


# 97180 23-May-2002 markm

ANSIfy variable-argument macros.


# 87595 10-Dec-2001 obrien

Update to C99, s/__FUNCTION__/__func__/.


# 75332 09-Apr-2001 bp

Add function prototypes and base module for kernel side iconv library.
Add simple "xlat" converter which performs 8to8 table based conversion.
Unicode converter will be added in the near future.

Reviewed by: silence on arch@
Files placement reviewed by: bde
Obtained from: smbfs