2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* configure.in: Add support to generate iconv converter flags for newlib.h * newlib.hin: Add iconv converter flags. * configure: Regenerated. * libc/Makefile.in: Ditto. * libc/configure.in: Moved iconv converter parsing logic to top level newlib configure.in. * libc/configure: Regenerated. * libc/iconv/Makefile.in: Ditto. * libc/iconv/README.TODO * libc/iconv/charset.aliases: Remove wrong BE aliases for UCS2/UCS4/UTF8. * libc/iconv/ccs/Makefile.am: Remove C flag setting now that newlib.h can be used. * libc/iconv/ces/Makefile.am: Ditto. * libc/iconv/lib/Makefile.am: Ditto. * libc/iconv/ccs/Makefile.in: Regenerated. * libc/iconv/ces/Makefile.in: Ditto. * libc/iconv/lib/Makefile.in: Ditto. * libc/iconv/ccs/README.CCS.SOURCES: Updated. * libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries. * libc/iconv/ccs/big5.c: Switch to use new underscored flags defined in newlib.h. * libc/iconv/ccs/cns11643_plane1.c: Ditto. * libc/iconv/ccs/cns11643_plane14.c: Ditto. * libc/iconv/ccs/cns11643_plane2.c: Ditto. * libc/iconv/ccs/cp775.c: Ditto. * libc/iconv/ccs/cp850.c: Ditto. * libc/iconv/ccs/cp852.c: Ditto. * libc/iconv/ccs/cp855.c: Ditto. * libc/iconv/ccs/cp866.c: Ditto. * libc/iconv/ccs/gb_2312_80.c: Ditto. * libc/iconv/ccs/iso_8859_1.c: Ditto. * libc/iconv/ccs/iso_8859_15.c: Ditto. * libc/iconv/ccs/iso_8859_2.c: Ditto. * libc/iconv/ccs/iso_8859_4.c: Ditto. * libc/iconv/ccs/iso_8859_5.c: Ditto. * libc/iconv/ccs/jis_x0201.c: Ditto. * libc/iconv/ccs/jis_x0208_1983.c: Ditto. * libc/iconv/ccs/jis_x0212_1990.c: Ditto. * libc/iconv/ccs/koi8_r.c: Ditto. * libc/iconv/ccs/koi8_u.c: Ditto. * libc/iconv/ccs/ksx1001.c: Ditto. * libc/iconv/ccs/shift_jis.c: Ditto. * libc/iconv/ccs/us_ascii.c: Ditto. * libc/iconv/ccs/binary/big5.cct: Newly generated. * libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto. * libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto. * libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto. * libc/iconv/ccs/binary/cp775.cct: Ditto. * libc/iconv/ccs/binary/cp850.cct: Ditto. * libc/iconv/ccs/binary/cp852.cct: Ditto. * libc/iconv/ccs/binary/cp855.cct: Ditto. * libc/iconv/ccs/binary/cp866.cct: Ditto. * libc/iconv/ccs/binary/gb_2312_80.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_1.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_15.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_2.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_4.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_5.cct: Ditto. * libc/iconv/ccs/binary/jis_x0201.cct: Ditto. * libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto. * libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto. * libc/iconv/ccs/binary/koi8_r.cct: Ditto. * libc/iconv/ccs/binary/koi8_u.cct: Ditto. * libc/iconv/ccs/binary/ksx1001.cct: Ditto. * libc/iconv/ccs/binary/shift_jis.cct: Ditto. * libc/iconv/ccs/binary/us_ascii.cct: Ditto. * libc/iconv/lib/bialiasesi.c: Sync with charset.aliases. * libc/iconv/ces/euc-jp.c: Use newlib.h macros. * libc/iconv/ces/euc-kr.c: Ditto. * libc/iconv/ces/euc-tw.c: Ditto. * libc/iconv/ces/gb2312.c: Ditto. * libc/iconv/ces/iso-10646-ucs-2.c: Ditto. * libc/iconv/ces/iso-10646-ucs-4.c: Ditto. * libc/iconv/ces/ucs-2-internal.c: Ditto. * libc/iconv/ces/ucs-4-internal.c: Ditto. * libc/iconv/ces/utf-16.c: Ditto. * libc/iconv/ces/utf-8.c: Ditto. * libc/iconv/lib/aliases.c: Ditto. * libc/iconv/lib/biccs.c: Ditto. * libc/iconv/lib/bices.c: Ditto. * libc/iconv/lib/ccs.c: Ditto. * libc/iconv/lib/ces.c: Ditto. * libc/iconv/lib/ces_euc.c: Ditto. * libc/iconv/lib/ces_iso2022.c: Ditto. * libc/iconv/lib/ces_table.c: Ditto. * libc/iconv/lib/converter.c: Ditto. * libc/iconv/lib/deps.h: Ditto. * libc/iconv/lib/endian.h: Ditto. * libc/iconv/lib/iconv.c: Ditto. * libc/iconv/lib/loaddata.c: Ditto. * libc/iconv/lib/local.h: Include newlib.h. * libc/argz/Makefile.in: Regenerated. * libc/ctype/Makefile.in: Ditto. * libc/errno/Makefile.in: Ditto. * libc/iconv/ccs/binary/Makefile.in: Ditto. * libc/locale/Makefile.in: Ditto. * libc/misc/Makefile.in: Ditto. * libc/posix/Makefile.in: Ditto. * libc/reent/Makefile.in: Ditto. * libc/search/Makefile.in: Ditto. * libc/signal/Makefile.in: Ditto. * libc/stdio/Makefile.in: Ditto. * libc/stdio64/Makefile.in: Ditto. * libc/stdlib/Makefile.in: Ditto. * libc/string/Makefile.in: Ditto. * libc/syscalls/Makefile.in: Ditto. * libc/time/Makefile.in: Ditto. * libc/unix/Makefile.in: Ditto. * testsuite/newlib.iconv/iconv.exp: New file. * testsuite/newlib.iconv/iconvjp.c: Ditto. * testsuite/newlib.iconv/iconvnm.c: Ditto. * testsuite/newlib.iconv/iconvru.c: Ditto.
This commit is contained in:
parent
ef33379be8
commit
01e0a77749
117
newlib/ChangeLog
117
newlib/ChangeLog
@ -1,3 +1,120 @@
|
||||
2004-01-27 Artem B. Bityuckiy <abitytsky@softminecorp.com>
|
||||
|
||||
* configure.in: Add support to generate iconv converter flags
|
||||
for newlib.h
|
||||
* newlib.hin: Add iconv converter flags.
|
||||
* configure: Regenerated.
|
||||
* libc/Makefile.in: Ditto.
|
||||
* libc/configure.in: Moved iconv converter parsing logic to
|
||||
top level newlib configure.in.
|
||||
* libc/configure: Regenerated.
|
||||
* libc/iconv/Makefile.in: Ditto.
|
||||
* libc/iconv/README.TODO
|
||||
* libc/iconv/charset.aliases: Remove wrong BE aliases for
|
||||
UCS2/UCS4/UTF8.
|
||||
* libc/iconv/ccs/Makefile.am: Remove C flag setting now that
|
||||
newlib.h can be used.
|
||||
* libc/iconv/ces/Makefile.am: Ditto.
|
||||
* libc/iconv/lib/Makefile.am: Ditto.
|
||||
* libc/iconv/ccs/Makefile.in: Regenerated.
|
||||
* libc/iconv/ces/Makefile.in: Ditto.
|
||||
* libc/iconv/lib/Makefile.in: Ditto.
|
||||
* libc/iconv/ccs/README.CCS.SOURCES: Updated.
|
||||
* libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries.
|
||||
* libc/iconv/ccs/big5.c: Switch to use new underscored flags
|
||||
defined in newlib.h.
|
||||
* libc/iconv/ccs/cns11643_plane1.c: Ditto.
|
||||
* libc/iconv/ccs/cns11643_plane14.c: Ditto.
|
||||
* libc/iconv/ccs/cns11643_plane2.c: Ditto.
|
||||
* libc/iconv/ccs/cp775.c: Ditto.
|
||||
* libc/iconv/ccs/cp850.c: Ditto.
|
||||
* libc/iconv/ccs/cp852.c: Ditto.
|
||||
* libc/iconv/ccs/cp855.c: Ditto.
|
||||
* libc/iconv/ccs/cp866.c: Ditto.
|
||||
* libc/iconv/ccs/gb_2312_80.c: Ditto.
|
||||
* libc/iconv/ccs/iso_8859_1.c: Ditto.
|
||||
* libc/iconv/ccs/iso_8859_15.c: Ditto.
|
||||
* libc/iconv/ccs/iso_8859_2.c: Ditto.
|
||||
* libc/iconv/ccs/iso_8859_4.c: Ditto.
|
||||
* libc/iconv/ccs/iso_8859_5.c: Ditto.
|
||||
* libc/iconv/ccs/jis_x0201.c: Ditto.
|
||||
* libc/iconv/ccs/jis_x0208_1983.c: Ditto.
|
||||
* libc/iconv/ccs/jis_x0212_1990.c: Ditto.
|
||||
* libc/iconv/ccs/koi8_r.c: Ditto.
|
||||
* libc/iconv/ccs/koi8_u.c: Ditto.
|
||||
* libc/iconv/ccs/ksx1001.c: Ditto.
|
||||
* libc/iconv/ccs/shift_jis.c: Ditto.
|
||||
* libc/iconv/ccs/us_ascii.c: Ditto.
|
||||
* libc/iconv/ccs/binary/big5.cct: Newly generated.
|
||||
* libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cp775.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cp850.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cp852.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cp855.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/cp866.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/gb_2312_80.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/iso_8859_1.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/iso_8859_15.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/iso_8859_2.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/iso_8859_4.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/iso_8859_5.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/jis_x0201.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/koi8_r.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/koi8_u.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/ksx1001.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/shift_jis.cct: Ditto.
|
||||
* libc/iconv/ccs/binary/us_ascii.cct: Ditto.
|
||||
* libc/iconv/lib/bialiasesi.c: Sync with charset.aliases.
|
||||
* libc/iconv/ces/euc-jp.c: Use newlib.h macros.
|
||||
* libc/iconv/ces/euc-kr.c: Ditto.
|
||||
* libc/iconv/ces/euc-tw.c: Ditto.
|
||||
* libc/iconv/ces/gb2312.c: Ditto.
|
||||
* libc/iconv/ces/iso-10646-ucs-2.c: Ditto.
|
||||
* libc/iconv/ces/iso-10646-ucs-4.c: Ditto.
|
||||
* libc/iconv/ces/ucs-2-internal.c: Ditto.
|
||||
* libc/iconv/ces/ucs-4-internal.c: Ditto.
|
||||
* libc/iconv/ces/utf-16.c: Ditto.
|
||||
* libc/iconv/ces/utf-8.c: Ditto.
|
||||
* libc/iconv/lib/aliases.c: Ditto.
|
||||
* libc/iconv/lib/biccs.c: Ditto.
|
||||
* libc/iconv/lib/bices.c: Ditto.
|
||||
* libc/iconv/lib/ccs.c: Ditto.
|
||||
* libc/iconv/lib/ces.c: Ditto.
|
||||
* libc/iconv/lib/ces_euc.c: Ditto.
|
||||
* libc/iconv/lib/ces_iso2022.c: Ditto.
|
||||
* libc/iconv/lib/ces_table.c: Ditto.
|
||||
* libc/iconv/lib/converter.c: Ditto.
|
||||
* libc/iconv/lib/deps.h: Ditto.
|
||||
* libc/iconv/lib/endian.h: Ditto.
|
||||
* libc/iconv/lib/iconv.c: Ditto.
|
||||
* libc/iconv/lib/loaddata.c: Ditto.
|
||||
* libc/iconv/lib/local.h: Include newlib.h.
|
||||
* libc/argz/Makefile.in: Regenerated.
|
||||
* libc/ctype/Makefile.in: Ditto.
|
||||
* libc/errno/Makefile.in: Ditto.
|
||||
* libc/iconv/ccs/binary/Makefile.in: Ditto.
|
||||
* libc/locale/Makefile.in: Ditto.
|
||||
* libc/misc/Makefile.in: Ditto.
|
||||
* libc/posix/Makefile.in: Ditto.
|
||||
* libc/reent/Makefile.in: Ditto.
|
||||
* libc/search/Makefile.in: Ditto.
|
||||
* libc/signal/Makefile.in: Ditto.
|
||||
* libc/stdio/Makefile.in: Ditto.
|
||||
* libc/stdio64/Makefile.in: Ditto.
|
||||
* libc/stdlib/Makefile.in: Ditto.
|
||||
* libc/string/Makefile.in: Ditto.
|
||||
* libc/syscalls/Makefile.in: Ditto.
|
||||
* libc/time/Makefile.in: Ditto.
|
||||
* libc/unix/Makefile.in: Ditto.
|
||||
* testsuite/newlib.iconv/iconv.exp: New file.
|
||||
* testsuite/newlib.iconv/iconvjp.c: Ditto.
|
||||
* testsuite/newlib.iconv/iconvnm.c: Ditto.
|
||||
* testsuite/newlib.iconv/iconvru.c: Ditto.
|
||||
|
||||
2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
|
||||
|
||||
* acinclude.m4 (--enable-newlib-iconv): New configuration option.
|
||||
|
@ -91,7 +91,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
39
newlib/libc/configure
vendored
39
newlib/libc/configure
vendored
@ -3158,49 +3158,15 @@ fi
|
||||
|
||||
|
||||
|
||||
if test x${newlib_iconv} != x; then
|
||||
|
||||
|
||||
if test 1 = 1; then
|
||||
|
||||
if test x${newlib_iconv} != x; then
|
||||
ENABLE_NEWLIB_ICONV_TRUE=
|
||||
ENABLE_NEWLIB_ICONV_FALSE='#'
|
||||
else
|
||||
ENABLE_NEWLIB_ICONV_TRUE='#'
|
||||
ENABLE_NEWLIB_ICONV_FALSE=
|
||||
fi
|
||||
NEWLIB_CFLAGS="${NEWLIB_CFLAGS} -DENABLE_ICONV"
|
||||
fi;
|
||||
|
||||
if test "x${builtin_converters}" != "x"; then
|
||||
|
||||
if test x${newlib_iconv} = x; then
|
||||
{ echo "configure: error: --enable-newlib-builtin-converters option can't be used if iconv library is disabled - use --enable-newlib-iconv to enable it" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
builtin_converters=`echo "${builtin_converters}" | sed -e 's/,/ /g' -e 's/-/_/g' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||
|
||||
available_converters=`cat "${srcdir}/iconv/charset.aliases" | sed -e '/#/d' | sed -e 'N; s/\n //;'`
|
||||
|
||||
builtin_converters1="${builtin_converters}"
|
||||
builtin_converters=""
|
||||
for converter in ${builtin_converters1}; do
|
||||
result=`echo "${available_converters}" | grep -e "\(^\| \)${converter}\( \|\$\)"`
|
||||
if test $? != "0"; then
|
||||
{ echo "configure: error: ${converter} is not supported - see ${srcdir}/iconv/charset.aliases file for the list of available converters" 1>&2; exit 1; }
|
||||
fi
|
||||
converter1=`echo "${result}" | sed -e 's/\(^[^ ]*\).*$/\1/'`
|
||||
builtin_converters="${builtin_converters} ${converter1}"
|
||||
done
|
||||
|
||||
for converter in ${builtin_converters}; do
|
||||
opt=ICONV_CONVERTER_`echo "${converter}" | sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
|
||||
NEWLIB_ICONV_CFLAGS="${NEWLIB_ICONV_CFLAGS} -D${opt}"
|
||||
done
|
||||
|
||||
else
|
||||
NEWLIB_ICONV_CFLAGS=
|
||||
fi;
|
||||
|
||||
|
||||
if test -n "${machine_dir}"; then
|
||||
if test "${use_libtool}" = "yes"; then
|
||||
@ -3443,7 +3409,6 @@ s%@extra_dir@%$extra_dir%g
|
||||
s%@LIBC_SYS_LIB@%$LIBC_SYS_LIB%g
|
||||
s%@ENABLE_NEWLIB_ICONV_TRUE@%$ENABLE_NEWLIB_ICONV_TRUE%g
|
||||
s%@ENABLE_NEWLIB_ICONV_FALSE@%$ENABLE_NEWLIB_ICONV_FALSE%g
|
||||
s%@NEWLIB_ICONV_CFLAGS@%$NEWLIB_ICONV_CFLAGS%g
|
||||
s%@LIBC_MACHINE_LIB@%$LIBC_MACHINE_LIB%g
|
||||
|
||||
CEOF
|
||||
|
@ -123,49 +123,7 @@ AC_SUBST(LIBC_SYS_LIB)
|
||||
AC_SUBST(sys_dir)
|
||||
|
||||
dnl iconv library will be compiled if --enable-newlib-iconv option is enabled
|
||||
if test x${newlib_iconv} != x; then
|
||||
AM_CONDITIONAL(ENABLE_NEWLIB_ICONV, test 1 = 1)
|
||||
NEWLIB_CFLAGS="${NEWLIB_CFLAGS} -DENABLE_ICONV"
|
||||
fi;
|
||||
|
||||
dnl Parse --enable-newlib-builtin-converters option argument
|
||||
if test "x${builtin_converters}" != "x"; then
|
||||
|
||||
dnl Check that --enable-newlib-iconv was enabled
|
||||
if test x${newlib_iconv} = x; then
|
||||
AC_MSG_ERROR(--enable-newlib-builtin-converters option can't be used if iconv library is disabled - use --enable-newlib-iconv to enable it)
|
||||
fi
|
||||
|
||||
dnl Normalize converter names and delete commas
|
||||
builtin_converters=`echo "${builtin_converters}" | sed -e 's/,/ /g' -e 's/-/_/g' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||
|
||||
dnl Get the list of available converters excluding comments
|
||||
dnl Join line with previous if the first character is whitespace
|
||||
available_converters=`cat "${srcdir}/iconv/charset.aliases" | sed -e '/#/d' | sed -e 'N; s/\n //;'`
|
||||
|
||||
dnl Check if required converters are supported
|
||||
dnl Convert aliases to "official" names
|
||||
builtin_converters1="${builtin_converters}"
|
||||
builtin_converters=""
|
||||
for converter in ${builtin_converters1}; do
|
||||
result=`echo "${available_converters}" | grep -e "\(^\| \)${converter}\( \|\$\)"`
|
||||
if test $? != "0"; then
|
||||
AC_MSG_ERROR(${converter} is not supported - see ${srcdir}/iconv/charset.aliases file for the list of available converters)
|
||||
fi
|
||||
converter1=`echo "${result}" | sed -e 's/\(^[[^ ]]*\).*$/\1/'`
|
||||
builtin_converters="${builtin_converters} ${converter1}"
|
||||
done
|
||||
|
||||
dnl Define appropriate -D options
|
||||
for converter in ${builtin_converters}; do
|
||||
opt=ICONV_CONVERTER_`echo "${converter}" | sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
|
||||
NEWLIB_ICONV_CFLAGS="${NEWLIB_ICONV_CFLAGS} -D${opt}"
|
||||
done
|
||||
|
||||
else
|
||||
NEWLIB_ICONV_CFLAGS=
|
||||
fi;
|
||||
AC_SUBST(NEWLIB_ICONV_CFLAGS)
|
||||
AM_CONDITIONAL(ENABLE_NEWLIB_ICONV, test x${newlib_iconv} != x)
|
||||
|
||||
if test -n "${machine_dir}"; then
|
||||
if test "${use_libtool}" = "yes"; then
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -25,17 +25,8 @@
|
||||
be loaded twice. To save memory, we should load each .cct only once
|
||||
(if possible).
|
||||
|
||||
5. UTF-16 converter supports only Big Endian UTF-16. BOM (Byte Order Mark)
|
||||
isn't supported too. UTF-16BE and UTF-16LE CES support should be added.
|
||||
BOM Support should be added. The same is for UCS4 and UCS2 encodings.
|
||||
|
||||
6. iconv tests should be written and added to Newlib tests suite.
|
||||
|
||||
|
||||
Artem B. Bityuckiy,
|
||||
SoftMine Corporation,
|
||||
<abitytsky@softminecorp.com>,
|
||||
<dedekind@mail.ru>,
|
||||
Jan, 2004.
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_ICONV_CFLAGS)
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
GENERAL_SOURCES = \
|
||||
big5.c \
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@ -109,7 +108,7 @@ sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_ICONV_CFLAGS)
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
GENERAL_SOURCES = big5.c cp775.c cp850.c cp852.c cp855.c cp866.c gb_2312_80.c iso_8859_15.c iso_8859_1.c iso_8859_2.c iso_8859_4.c iso_8859_5.c jis_x0201.c jis_x0208_1983.c jis_x0212_1990.c koi8_r.c koi8_u.c ksx1001.c shift_jis.c cns11643_plane14.c cns11643_plane1.c cns11643_plane2.c us_ascii.c
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
This directory contains CCS conversion tables - both C files and .cct files.
|
||||
.cct files are for dynamic loading, .c files are for static linking with Newlib.
|
||||
Both .c and .cct files are generated my 'iconv_mktbl' perl script from
|
||||
Both .c and .cct files are generated by 'iconv_mktbl' perl script from
|
||||
special source files (call them .txt files). These .txt files can be taken
|
||||
from Unicode.org site, addresses are given in the end.
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_BIG5
|
||||
#ifdef _ICONV_CONVERTER_BIG5
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_big5[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_big5[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 16, 3,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0xB6, 0x08),
|
||||
_1l(0x00, 0x00, 0x04, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -12297,6 +12296,5 @@ _CONST unsigned char iconv_ccs_table_big5[] = {
|
||||
_2s(0xFF, 0xFE, 0xA2, 0xCE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_BIG5 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_BIG5 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE1
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE1
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cns11643_plane1[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cns11643_plane1[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x43, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -8489,6 +8488,5 @@ _CONST unsigned char iconv_ccs_table_cns11643_plane1[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CNS11643_PLANE1 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CNS11643_PLANE1 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE14
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE14
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cns11643_plane14[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cns11643_plane14[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x49, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -7721,6 +7720,5 @@ _CONST unsigned char iconv_ccs_table_cns11643_plane14[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CNS11643_PLANE14 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CNS11643_PLANE14 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE2
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE2
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cns11643_plane2[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cns11643_plane2[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x54, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -8073,6 +8072,5 @@ _CONST unsigned char iconv_ccs_table_cns11643_plane2[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CNS11643_PLANE2 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CNS11643_PLANE2 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CP775
|
||||
#ifdef _ICONV_CONVERTER_CP775
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cp775[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cp775[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -521,6 +520,5 @@ _CONST unsigned char iconv_ccs_table_cp775[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CP775 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CP775 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CP850
|
||||
#ifdef _ICONV_CONVERTER_CP850
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cp850[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cp850[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -457,6 +456,5 @@ _CONST unsigned char iconv_ccs_table_cp850[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CP850 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CP850 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CP852
|
||||
#ifdef _ICONV_CONVERTER_CP852
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cp852[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cp852[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -457,6 +456,5 @@ _CONST unsigned char iconv_ccs_table_cp852[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CP852 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CP852 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CP855
|
||||
#ifdef _ICONV_CONVERTER_CP855
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cp855[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cp855[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -457,6 +456,5 @@ _CONST unsigned char iconv_ccs_table_cp855[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CP855 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CP855 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_CP866
|
||||
#ifdef _ICONV_CONVERTER_CP866
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_cp866[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_cp866[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -521,6 +520,5 @@ _CONST unsigned char iconv_ccs_table_cp866[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_CP866 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_CP866 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_GB_2312_80
|
||||
#ifdef _ICONV_CONVERTER_GB_2312_80
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_gb_2312_80[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_gb_2312_80[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x53, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -9001,6 +9000,5 @@ _CONST unsigned char iconv_ccs_table_gb_2312_80[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_GB_2312_80 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_GB_2312_80 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -251,19 +251,19 @@ if ($opt_C) {
|
||||
$opt_o =~ tr/-/_/;
|
||||
$name = $opt_o;
|
||||
$name =~ tr/[a-z]/[A-Z]/;
|
||||
print qq/#ifdef ENABLE_ICONV\n/;
|
||||
print qq/#include "..\/lib\/deps.h"\n\n/;
|
||||
print "#ifdef ICONV_CONVERTER_$name\n";
|
||||
print qq/#include "..\/lib\/endian.h"\n\n/;
|
||||
print "_CONST unsigned char iconv_ccs_table_$opt_o" . "[] = {\n";
|
||||
print "#include \"..\/lib\/deps.h\"\n\n";
|
||||
print "#ifdef _ICONV_CONVERTER_$name\n";
|
||||
print "#include \"..\/lib\/endian.h\"\n\n";
|
||||
print "_CONST unsigned char _iconv_ccs_table_$opt_o" . "[] = {\n";
|
||||
print "\t3, 'C', 'S', 'C', 'T', ICONV_ORDER, $nbits, $type,\n";
|
||||
print &pack_array(2, 'N', [8, 8 + $to_size]);
|
||||
print $to;
|
||||
print $from;
|
||||
print "};\n\n";
|
||||
print "#endif /* #ifdef _ICONV_CONVERTER_$name */\n\n";
|
||||
} else {
|
||||
print pack("A5CCCNN", "\003CSCT", 0, $nbits, $type, 8, 8 + $to_size);
|
||||
print $to;
|
||||
print $from;
|
||||
}
|
||||
print $to;
|
||||
print $from;
|
||||
print "};\n\n";
|
||||
print "#endif /* #ifdef ICONV_CONVERTER_$name */\n\n";
|
||||
print "#endif /* #ifdef ENABLE_ICONV */\n" if $opt_C;
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_1
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_1
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_iso_8859_1[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_iso_8859_1[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -265,6 +264,5 @@ _CONST unsigned char iconv_ccs_table_iso_8859_1[] = {
|
||||
_2s(0x00, 0xFC, 0x00, 0xFD), _2s(0x00, 0xFE, 0x00, 0xFF),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_8859_1 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_8859_1 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_15
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_15
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_iso_8859_15[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_iso_8859_15[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -393,6 +392,5 @@ _CONST unsigned char iconv_ccs_table_iso_8859_15[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_8859_15 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_8859_15 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_2
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_2
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_iso_8859_2[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_iso_8859_2[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -393,6 +392,5 @@ _CONST unsigned char iconv_ccs_table_iso_8859_2[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_8859_2 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_8859_2 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_4
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_4
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_iso_8859_4[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_iso_8859_4[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -393,6 +392,5 @@ _CONST unsigned char iconv_ccs_table_iso_8859_4[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_8859_4 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_8859_4 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_5
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_5
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_iso_8859_5[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_iso_8859_5[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -393,6 +392,5 @@ _CONST unsigned char iconv_ccs_table_iso_8859_5[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_8859_5 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_8859_5 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_JIS_X0201
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0201
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_jis_x0201[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_jis_x0201[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -393,6 +392,5 @@ _CONST unsigned char iconv_ccs_table_jis_x0201[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_JIS_X0201 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_JIS_X0201 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_JIS_X0208_1983
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0208_1983
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_jis_x0208_1983[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_jis_x0208_1983[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x4F, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -8617,6 +8616,5 @@ _CONST unsigned char iconv_ccs_table_jis_x0208_1983[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_JIS_X0208_1983 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_JIS_X0208_1983 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_JIS_X0212_1990
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0212_1990
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_jis_x0212_1990[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_jis_x0212_1990[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x46, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -8009,6 +8008,5 @@ _CONST unsigned char iconv_ccs_table_jis_x0212_1990[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_JIS_X0212_1990 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_JIS_X0212_1990 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_KOI8_R
|
||||
#ifdef _ICONV_CONVERTER_KOI8_R
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_koi8_r[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_koi8_r[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -521,6 +520,5 @@ _CONST unsigned char iconv_ccs_table_koi8_r[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_KOI8_R */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_KOI8_R */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_KOI8_U
|
||||
#ifdef _ICONV_CONVERTER_KOI8_U
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_koi8_u[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_koi8_u[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 8, 1,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x02, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -521,6 +520,5 @@ _CONST unsigned char iconv_ccs_table_koi8_u[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_KOI8_U */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_KOI8_U */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_KSX1001
|
||||
#ifdef _ICONV_CONVERTER_KSX1001
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_ksx1001[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_ksx1001[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 14, 2,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x5B, 0x08),
|
||||
_1l(0x00, 0x00, 0x00, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -12329,6 +12328,5 @@ _CONST unsigned char iconv_ccs_table_ksx1001[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_KSX1001 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_KSX1001 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_SHIFT_JIS
|
||||
#ifdef _ICONV_CONVERTER_SHIFT_JIS
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_shift_jis[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_shift_jis[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 16, 3,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x54, 0x08),
|
||||
_1l(0x00, 0x00, 0x04, 0x00), _1l(0x00, 0x00, 0x00, 0x00),
|
||||
@ -8777,6 +8776,5 @@ _CONST unsigned char iconv_ccs_table_shift_jis[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_SHIFT_JIS */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_SHIFT_JIS */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -1,10 +1,9 @@
|
||||
#ifdef ENABLE_ICONV
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_US_ASCII
|
||||
#ifdef _ICONV_CONVERTER_US_ASCII
|
||||
#include "../lib/endian.h"
|
||||
|
||||
_CONST unsigned char iconv_ccs_table_us_ascii[] = {
|
||||
_CONST unsigned char _iconv_ccs_table_us_ascii[] = {
|
||||
3, 'C', 'S', 'C', 'T', ICONV_ORDER, 7, 0,
|
||||
_1l(0x00, 0x00, 0x00, 0x08), _1l(0x00, 0x00, 0x01, 0x08),
|
||||
_2s(0x00, 0x00, 0x00, 0x01), _2s(0x00, 0x02, 0x00, 0x03),
|
||||
@ -233,6 +232,5 @@ _CONST unsigned char iconv_ccs_table_us_ascii[] = {
|
||||
_2s(0xFF, 0xFE, 0xFF, 0xFE), _2s(0xFF, 0xFE, 0xFF, 0xFE),
|
||||
};
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_US_ASCII */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_US_ASCII */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_ICONV_CFLAGS)
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
GENERAL_SOURCES = euc-jp.c \
|
||||
euc-kr.c \
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@ -109,7 +108,7 @@ sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_ICONV_CFLAGS)
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
GENERAL_SOURCES = euc-jp.c euc-kr.c euc-tw.c gb2312.c iso-10646-ucs-2.c iso-10646-ucs-4.c ucs-2-internal.c ucs-4-internal.c utf-16.c utf-8.c
|
||||
|
||||
|
@ -25,15 +25,12 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_EUC_JP
|
||||
|
||||
#ifdef _ICONV_CONVERTER_EUC_JP
|
||||
#include "../lib/local.h"
|
||||
|
||||
static _CONST iconv_ces_euc_ccs ccsattr[] = {
|
||||
static _CONST iconv_ces_euc_ccs_t ccsattr[] = {
|
||||
{"us_ascii", "", 0},
|
||||
{"jis_x0208_1983", "", 0},
|
||||
{"jis_x0201", "\x8e", 1},
|
||||
@ -42,7 +39,5 @@ static _CONST iconv_ces_euc_ccs ccsattr[] = {
|
||||
|
||||
ICONV_CES_MODULE_DECL(euc, euc_jp);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_EUC_JP */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_EUC_JP */
|
||||
|
||||
|
@ -25,22 +25,17 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_EUC_KR
|
||||
|
||||
#ifdef _ICONV_CONVERTER_EUC_KR
|
||||
#include "../lib/local.h"
|
||||
|
||||
static _CONST iconv_ces_euc_ccs ccsattr[] = {
|
||||
static _CONST iconv_ces_euc_ccs_t ccsattr[] = {
|
||||
{"us_ascii", "", 0},
|
||||
{"ksx1001", "", 0}
|
||||
};
|
||||
|
||||
ICONV_CES_MODULE_DECL(euc, euc_kr);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_EUC_KR */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_EUC_KR */
|
||||
|
||||
|
@ -25,15 +25,12 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_EUC_TW
|
||||
|
||||
#ifdef _ICONV_CONVERTER_EUC_TW
|
||||
#include "../lib/local.h"
|
||||
|
||||
static _CONST iconv_ces_euc_ccs ccsattr[] = {
|
||||
static _CONST iconv_ces_euc_ccs_t ccsattr[] = {
|
||||
{"us_ascii", "", 0},
|
||||
{"cns11643_plane1", "", 0},
|
||||
{"cns11643_plane2", "\x8e\xa2", 2},
|
||||
@ -42,7 +39,5 @@ static _CONST iconv_ces_euc_ccs ccsattr[] = {
|
||||
|
||||
ICONV_CES_MODULE_DECL(euc, euc_tw);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_EUC_KR */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_EUC_KR */
|
||||
|
||||
|
@ -25,22 +25,17 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_GB2312
|
||||
|
||||
#ifdef _ICONV_CONVERTER_GB2312
|
||||
#include "../lib/local.h"
|
||||
|
||||
static _CONST iconv_ces_euc_ccs ccsattr[] = {
|
||||
static _CONST iconv_ces_euc_ccs_t ccsattr[] = {
|
||||
{"us_ascii", "", 0},
|
||||
{"gb_2312_80", "", 0}
|
||||
};
|
||||
|
||||
ICONV_CES_MODULE_DECL(euc, gb2312);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_GB2312 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_GB2312 */
|
||||
|
||||
|
@ -25,13 +25,9 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
|
||||
#include <_ansi.h>
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
#include "../lib/local.h"
|
||||
|
||||
#define out_char(ptr, ch) \
|
||||
@ -114,7 +110,5 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
|
||||
ICONV_CES_STATEFUL_MODULE_DECL(iso_10646_ucs_2);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_10646_UCS_2 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_10646_UCS_2 */
|
||||
|
||||
|
@ -25,13 +25,9 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
|
||||
#include <_ansi.h>
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
#include "../lib/local.h"
|
||||
|
||||
#define out_char(ptr, ch) \
|
||||
@ -117,7 +113,5 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
|
||||
ICONV_CES_STATEFUL_MODULE_DECL(iso_10646_ucs_4);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_ISO_10646_UCS_4 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_ISO_10646_UCS_4 */
|
||||
|
||||
|
@ -25,13 +25,9 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
|
||||
#include <_ansi.h>
|
||||
#ifdef _ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
#include "../lib/local.h"
|
||||
|
||||
static ssize_t
|
||||
@ -66,7 +62,5 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
|
||||
ICONV_CES_STATELESS_MODULE_DECL(ucs_2_internal);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_UCS_2_INTERNAL */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_UCS_2_INTERNAL */
|
||||
|
||||
|
@ -25,13 +25,9 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
|
||||
#include <_ansi.h>
|
||||
#ifdef _ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
#include "../lib/local.h"
|
||||
|
||||
static ssize_t
|
||||
@ -64,7 +60,5 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
|
||||
ICONV_CES_STATELESS_MODULE_DECL(ucs_4_internal);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_UCS_4_INTERNAL */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_UCS_4_INTERNAL */
|
||||
|
||||
|
@ -25,13 +25,9 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_UTF_16
|
||||
|
||||
#include <_ansi.h>
|
||||
#ifdef _ICONV_CONVERTER_UTF_16
|
||||
#include <string.h>
|
||||
#include "../lib/local.h"
|
||||
|
||||
@ -138,7 +134,5 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
|
||||
ICONV_CES_STATEFUL_MODULE_DECL(utf_16);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_UTF_16 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_UTF_16 */
|
||||
|
||||
|
@ -25,13 +25,9 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "../lib/deps.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_UTF_8
|
||||
|
||||
#include <_ansi.h>
|
||||
#ifdef _ICONV_CONVERTER_UTF_8
|
||||
#include "../lib/local.h"
|
||||
|
||||
#define cont_byte(b) (((b) & 0x3F) | 0x80)
|
||||
@ -187,7 +183,5 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
|
||||
ICONV_CES_STATELESS_MODULE_DECL(utf_8);
|
||||
|
||||
#endif /* #ifdef ICONV_CONVERTER_UTF_8 */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_UTF_8 */
|
||||
|
||||
|
@ -21,7 +21,7 @@ cp852 ibm852 852 cspcp852
|
||||
cp850 ibm850 850 cspc850multilingual
|
||||
cp775 ibm775 cspc775baltic
|
||||
koi8_u koi8u
|
||||
koi8_r cskoi8r koi8r
|
||||
koi8_r cskoi8r koi8r koi8
|
||||
iso_8859_1 iso8859_1 iso88591 iso_8859_1:1987 iso_ir_100 latin1 l1 ibm819 cp819 csisolatin1
|
||||
iso_8859_2 iso8859_2 iso88592 iso_8859_2:1987 iso_ir_101 latin2 l2 csisolatin2
|
||||
iso_8859_4 iso8859_4 iso88594 iso_8859_4:1988 iso_ir_110 latin4 l4 csisolatin4
|
||||
@ -30,9 +30,9 @@ iso_8859_15 iso8859_15 iso885915 iso_8859_15:1998 iso8859_15 iso885915
|
||||
euc_jp eucjp
|
||||
euc_kr euckr
|
||||
euc_tw euctw
|
||||
iso_10646_ucs_2 iso10646_ucs_2 iso_10646_ucs2 iso10646_ucs2 iso1064ucs2 ucs2 ucs_2 ucs2be ucs2_be ucs_2be ucs_2_be
|
||||
iso_10646_ucs_4 iso10646_ucs_4 iso_10646_ucs4 iso10646_ucs4 iso1064ucs4 ucs4 ucs_4 ucs4be ucs4_be ucs_4be ucs_4_be
|
||||
iso_10646_ucs_2 iso10646_ucs_2 iso_10646_ucs2 iso10646_ucs2 iso1064ucs2 ucs2 ucs_2
|
||||
iso_10646_ucs_4 iso10646_ucs_4 iso_10646_ucs4 iso10646_ucs4 iso1064ucs4 ucs4 ucs_4
|
||||
ucs_2_internal ucs2_internal ucs2internal
|
||||
ucs_4_internal ucs4_internal ucs4internal
|
||||
utf_16 utf16 utf_16be utf16be utf_16_be
|
||||
utf_16 utf16
|
||||
utf_8 utf8
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_ICONV_CFLAGS)
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
GENERAL_SOURCES = \
|
||||
aliases.c \
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@ -109,7 +108,7 @@ sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_ICONV_CFLAGS)
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
GENERAL_SOURCES = aliases.c ces.c ces_iso2022.c converter.c ccs.c ces_euc.c ces_table.c iconv.c loaddata.c bialiasesi.c biccs.c bices.c
|
||||
|
||||
|
@ -23,9 +23,6 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#if defined(ENABLE_ICONV)
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <reent.h>
|
||||
@ -37,7 +34,7 @@
|
||||
* PARAMETERS:
|
||||
* _CONST char *haystack - the string in which to search.
|
||||
* _CONST char *needle - the string which to search.
|
||||
* int length - the maximum 'searchee' string length.
|
||||
* int length - the maximum 'haystack' string length.
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* The strstr() function finds the first occurrence of the substring
|
||||
@ -45,7 +42,7 @@
|
||||
*
|
||||
* RETURN:
|
||||
* Returns a pointer to the beginning of the substring, or NULL if the
|
||||
* substring is not found.
|
||||
* substring was not found.
|
||||
*/
|
||||
static char *
|
||||
_DEFUN(strnstr, (haystack, needle, length),
|
||||
@ -82,7 +79,7 @@ _DEFUN(strnstr, (haystack, needle, length),
|
||||
* _CONST char *str - string to canonize.
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* Convert all letters to small and substitute all '-' by '_'.
|
||||
* Converts all letters to small and substitute all '-' by '_'.
|
||||
*
|
||||
* RETURN:
|
||||
* Returns canonical form of 'str' if success, NULL if failure.
|
||||
@ -113,12 +110,12 @@ _DEFUN(canonical_form, (rptr, str),
|
||||
*
|
||||
* PARAMETERS:
|
||||
* struct _reent *rptr - reent structure of curent thread/process.
|
||||
* _CONST char *alias - alias by which "official" name should be found.
|
||||
* char *table - alias table.
|
||||
* int len - alias table length.
|
||||
* _CONST char *alias - alias by which "official" name should be found.
|
||||
* _CONST char *table - aliases table.
|
||||
* int len - aliases table length.
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* 'table' contains the list of that names and their aliases. "Official"
|
||||
* 'table' contains the list of names and their aliases. "Official"
|
||||
* names go first, e.g.:
|
||||
*
|
||||
* Official_name1 alias11 alias12 alias1N
|
||||
@ -129,7 +126,7 @@ _DEFUN(canonical_form, (rptr, str),
|
||||
* previous line.
|
||||
*
|
||||
* RETURN:
|
||||
* Returns pointer to name "official" if success, NULL if failure.
|
||||
* Returns pointer to "official" name if success, NULL if failure.
|
||||
*/
|
||||
static _CONST char *
|
||||
_DEFUN(find_alias, (rptr, alias, table, len),
|
||||
@ -175,7 +172,7 @@ search_again:
|
||||
}
|
||||
|
||||
/*
|
||||
* _iconv_construct_filename -- constructs file name string from it's
|
||||
* _iconv_construct_filename -- constructs full file name from it's
|
||||
* path and name
|
||||
*
|
||||
* PARAMETERS:
|
||||
@ -188,7 +185,7 @@ search_again:
|
||||
* 'path' and 'name' shouldn't be NULL.
|
||||
*
|
||||
* RETURN:
|
||||
* The pointer to file path if success, NULL else.
|
||||
* The pointer to full file name if success, NULL if faulture.
|
||||
*/
|
||||
char *
|
||||
_DEFUN(_iconv_construct_filename, (rptr, path, file),
|
||||
@ -218,19 +215,19 @@ _DEFUN(_iconv_construct_filename, (rptr, path, file),
|
||||
}
|
||||
|
||||
/*
|
||||
* _iconv_resolve_alias - resolves charset's name by given alias.
|
||||
* _iconv_resolve_alias - resolves "official" name by given alias.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* struct _reent *rptr - reent structure of curent thread/process.
|
||||
* struct _reent *rptr - reent structure of curent thread/process.
|
||||
* _CONST char *alias - alias to resolve.
|
||||
* _CONST char *bialiases - built-in aliases table.
|
||||
* _CONST char *bialiases - aliases table.
|
||||
* int cf - canonize flag.
|
||||
* _CONST char *fname - external file with aliases list.
|
||||
* _CONST char *fname - name of external file with list uf aliases.
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* Tries to find 'alias' in built-in aliases list ('bialiases'). If not
|
||||
* Tries to find 'alias' in aliases list ('bialiases'). If not
|
||||
* found, searches at 'fname' file. 'cf' flag shows if 'alias' should be
|
||||
* canonized before searching. Both 'bialiases' and 'fname' can be NULL
|
||||
* canonized before searching. Both 'bialiases' and 'fname' can't be NULL
|
||||
* pointers.
|
||||
*
|
||||
* RETURN:
|
||||
@ -275,12 +272,12 @@ free_and_return:
|
||||
}
|
||||
|
||||
/*
|
||||
* _iconv_resolve_cs_name - resolves charset by given alias.
|
||||
* _iconv_resolve_cs_name - resolves convrter's "official" name by given alias.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* struct _reent *rptr - reent structure of curent thread/process.
|
||||
* _CONST char *cs - charset alias to resolve.
|
||||
* _CONST char *path - external file with aliases list.
|
||||
* struct _reent *rptr - reent structure of curent thread/process.
|
||||
* _CONST char *cs - charset alias to resolve.
|
||||
* _CONST char *path - external file with aliases list.
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* First, tries to find 'cs' among built-in aliases. If not fount, tries to
|
||||
@ -304,12 +301,10 @@ _DEFUN(_iconv_resolve_cs_name, (rptr, cs, path),
|
||||
if (fname == NULL)
|
||||
return NULL;
|
||||
|
||||
p = (char *)_iconv_resolve_alias(rptr, cs, iconv_builtin_aliases,
|
||||
p = (char *)_iconv_resolve_alias(rptr, cs, _iconv_builtin_aliases,
|
||||
1, (_CONST char *)fname);
|
||||
if (fname != NULL)
|
||||
_free_r(rptr, (_VOID_PTR)fname);
|
||||
return p;
|
||||
}
|
||||
|
||||
#endif /* #if defined(ENABLE_ICONV) */
|
||||
|
||||
|
@ -23,117 +23,113 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <_ansi.h>
|
||||
#include "deps.h"
|
||||
|
||||
/*
|
||||
* Built-in charset aliases table. The main name starts at the first position
|
||||
* of a line, followed by zero or more aliases, separated by any whitespace
|
||||
* character(s). Alias list may continue on the next line if the latter
|
||||
* begins with a whitespace.
|
||||
* Built-in charset aliases table. The "official" name starts at the first
|
||||
* position of a line, followed by zero or more aliases, separated by any
|
||||
* whitespace character(s). Aliases list may continue on the next line if this
|
||||
* line begins with a whitespace.
|
||||
*/
|
||||
_CONST char iconv_builtin_aliases[] =
|
||||
_CONST char _iconv_builtin_aliases[] =
|
||||
{
|
||||
#ifdef ICONV_CONVERTER_US_ASCII
|
||||
#ifdef _ICONV_CONVERTER_US_ASCII
|
||||
"us_ascii ansi_x3.4_1968 ansi_x3.4_1986 iso_646.irv:1991 ascii iso646_us us ibm367 cp367 csascii\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_BIG5
|
||||
#ifdef _ICONV_CONVERTER_BIG5
|
||||
"big5 csbig5 big_five bigfive cn_big5 cp950\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE1
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE1
|
||||
"cns11643_plane1\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE2
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE2
|
||||
"cns11643_plane2\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE14
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE14
|
||||
"cns11643_plane14\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_SHIFT_JIS
|
||||
#ifdef _ICONV_CONVERTER_SHIFT_JIS
|
||||
"shift_jis sjis cp932 ms_kanji csshiftjis\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KSX_1001
|
||||
#ifdef _ICONV_CONVERTER_KSX_1001
|
||||
"ksx1001 ks_x_1001\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0212_1990
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0212_1990
|
||||
"jis_x0212_1990\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0208_1983
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0208_1983
|
||||
"jis_x0208_1983 jis_c6226-1983 iso_ir_87 x0208\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0201
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0201
|
||||
"jis_x0201 x0201 cshalfwidthkatakana\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_GB_2312_80
|
||||
#ifdef _ICONV_CONVERTER_GB_2312_80
|
||||
"gb_2312_80 gb2312 gb2312_80 euc_cn eucch cn_gb csgb2312 iso_ir_58 chinese\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP866
|
||||
#ifdef _ICONV_CONVERTER_CP866
|
||||
"cp866 866 IBM866 CSIBM866\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP855
|
||||
#ifdef _ICONV_CONVERTER_CP855
|
||||
"cp855 ibm855 855 csibm855\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP852
|
||||
#ifdef _ICONV_CONVERTER_CP852
|
||||
"cp852 ibm852 852 cspcp852\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP850
|
||||
#ifdef _ICONV_CONVERTER_CP850
|
||||
"cp850 ibm850 850 cspc850multilingual\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP775
|
||||
#ifdef _ICONV_CONVERTER_CP775
|
||||
"cp775 ibm775 cspc775baltic\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KOI8_U
|
||||
#ifdef _ICONV_CONVERTER_KOI8_U
|
||||
"koi8_u koi8u\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KOI8_R
|
||||
#ifdef _ICONV_CONVERTER_KOI8_R
|
||||
"koi8_r cskoi8r koi8r koi8\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_1
|
||||
"iso_8859_1 iso_88591 iso_8859_1:1987 iso_ir_100 latin1 l1 ibm819 cp819 csisolatin1\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_1
|
||||
"iso_8859_1 iso_8859_1 iso_88591:1987 iso_ir_100 latin1 l1 ibm819 cp819 csisolatin1\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_2
|
||||
"iso_8859_2 iso_88592 iso_8859_2:1987 iso_ir_101 latin2 l2 csisolatin2\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_2
|
||||
"iso_8859_2 iso8859_2 iso_88592 iso_8859_2:1987 iso_ir_101 latin2 l2 csisolatin2\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_4
|
||||
"iso_8859_4 iso_88594 iso_8859_4:1988 iso_ir_110 latin4 l4 csisolatin4\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_4
|
||||
"iso_8859_4 iso8859_4 iso_88594 iso_8859_4:1988 iso_ir_110 latin4 l4 csisolatin4\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_5
|
||||
"iso_8859_5 iso_88595 iso_8859_5:1988 iso_ir_144 cyrillic csisolatincyrillic\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_5
|
||||
"iso_8859_5 iso8859_5 iso_88595 iso_8859_5:1988 iso_ir_144 cyrillic csisolatincyrillic\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_15
|
||||
"iso_8859_15 iso_885915 iso_8859_15:1998 iso8859_15 iso885915\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_15
|
||||
"iso_8859_15 iso8859_15 iso_885915 iso_8859_15:1998 iso8859_15 iso885915\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_JP
|
||||
#ifdef _ICONV_CONVERTER_EUC_JP
|
||||
"euc_jp eucjp\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_KR
|
||||
#ifdef _ICONV_CONVERTER_EUC_KR
|
||||
"euc_kr euckr\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_TW
|
||||
#ifdef _ICONV_CONVERTER_EUC_TW
|
||||
"euc_tw euctw\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
"iso_10646_ucs_2 iso10646_ucs_2 iso_10646_ucs2 iso10646_ucs2 iso1064ucs2\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
"iso_10646_ucs_2 iso10646_ucs_2 iso_10646_ucs2 iso10646_ucs2 iso1064ucs2 ucs2 ucs_2\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
"iso_10646_ucs_4 iso10646_ucs_4 iso_10646_ucs4 iso10646_ucs4 iso1064ucs4\n"
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
"iso_10646_ucs_4 iso10646_ucs_4 iso_10646_ucs4 iso10646_ucs4 iso1064ucs4 ucs4 ucs_4\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
#ifdef _ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
"ucs_2_internal ucs2_internal ucs2internal\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
#ifdef _ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
"ucs_4_internal ucs4_internal ucs4internal\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UTF_16
|
||||
"utf_16 utf16 utf_16be utf16be\n"
|
||||
#ifdef _ICONV_CONVERTER_UTF_16
|
||||
"utf_16 utf16\n"
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UTF_8
|
||||
#ifdef _ICONV_CONVERTER_UTF_8
|
||||
"utf_8 utf8\n"
|
||||
#endif
|
||||
""
|
||||
};
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -23,155 +23,150 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "deps.h"
|
||||
#include <_ansi.h>
|
||||
#include "local.h"
|
||||
|
||||
#ifdef ICONV_CONVERTER_BIG5
|
||||
extern _CONST unsigned char iconv_ccs_table_big5[];
|
||||
#ifdef _ICONV_CONVERTER_BIG5
|
||||
extern _CONST unsigned char _iconv_ccs_table_big5[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE1
|
||||
extern _CONST unsigned char iconv_ccs_table_cns11643_plane1[];
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE1
|
||||
extern _CONST unsigned char _iconv_ccs_table_cns11643_plane1[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE2
|
||||
extern _CONST unsigned char iconv_ccs_table_cns11643_plane2[];
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE2
|
||||
extern _CONST unsigned char _iconv_ccs_table_cns11643_plane2[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE14
|
||||
extern _CONST unsigned char iconv_ccs_table_cns11643_plane14[];
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE14
|
||||
extern _CONST unsigned char _iconv_ccs_table_cns11643_plane14[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP775
|
||||
extern _CONST unsigned char iconv_ccs_table_cp775[];
|
||||
#ifdef _ICONV_CONVERTER_CP775
|
||||
extern _CONST unsigned char _iconv_ccs_table_cp775[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP850
|
||||
extern _CONST unsigned char iconv_ccs_table_cp850[];
|
||||
#ifdef _ICONV_CONVERTER_CP850
|
||||
extern _CONST unsigned char _iconv_ccs_table_cp850[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP852
|
||||
extern _CONST unsigned char iconv_ccs_table_cp852[];
|
||||
#ifdef _ICONV_CONVERTER_CP852
|
||||
extern _CONST unsigned char _iconv_ccs_table_cp852[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP855
|
||||
extern _CONST unsigned char iconv_ccs_table_cp855[];
|
||||
#ifdef _ICONV_CONVERTER_CP855
|
||||
extern _CONST unsigned char _iconv_ccs_table_cp855[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP866
|
||||
extern _CONST unsigned char iconv_ccs_table_cp866[];
|
||||
#ifdef _ICONV_CONVERTER_CP866
|
||||
extern _CONST unsigned char _iconv_ccs_table_cp866[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_GB_2312_80
|
||||
extern _CONST unsigned char iconv_ccs_table_gb_2312_80[];
|
||||
#ifdef _ICONV_CONVERTER_GB_2312_80
|
||||
extern _CONST unsigned char _iconv_ccs_table_gb_2312_80[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_1
|
||||
extern _CONST unsigned char iconv_ccs_table_iso_8859_1[];
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_1
|
||||
extern _CONST unsigned char _iconv_ccs_table_iso_8859_1[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_15
|
||||
extern _CONST unsigned char iconv_ccs_table_iso_8859_15[];
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_15
|
||||
extern _CONST unsigned char _iconv_ccs_table_iso_8859_15[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_2
|
||||
extern _CONST unsigned char iconv_ccs_table_iso_8859_2[];
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_2
|
||||
extern _CONST unsigned char _iconv_ccs_table_iso_8859_2[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_4
|
||||
extern _CONST unsigned char iconv_ccs_table_iso_8859_4[];
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_4
|
||||
extern _CONST unsigned char _iconv_ccs_table_iso_8859_4[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_5
|
||||
extern _CONST unsigned char iconv_ccs_table_iso_8859_5[];
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_5
|
||||
extern _CONST unsigned char _iconv_ccs_table_iso_8859_5[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0201
|
||||
extern _CONST unsigned char iconv_ccs_table_jis_x0201[];
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0201
|
||||
extern _CONST unsigned char _iconv_ccs_table_jis_x0201[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0208_1983
|
||||
extern _CONST unsigned char iconv_ccs_table_jis_x0208_1983[];
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0208_1983
|
||||
extern _CONST unsigned char _iconv_ccs_table_jis_x0208_1983[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0212_1990
|
||||
extern _CONST unsigned char iconv_ccs_table_jis_x0212_1990[];
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0212_1990
|
||||
extern _CONST unsigned char _iconv_ccs_table_jis_x0212_1990[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KOI8_R
|
||||
extern _CONST unsigned char iconv_ccs_table_koi8_r[];
|
||||
#ifdef _ICONV_CONVERTER_KOI8_R
|
||||
extern _CONST unsigned char _iconv_ccs_table_koi8_r[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KOI8_U
|
||||
extern _CONST unsigned char iconv_ccs_table_koi8_u[];
|
||||
#ifdef _ICONV_CONVERTER_KOI8_U
|
||||
extern _CONST unsigned char _iconv_ccs_table_koi8_u[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KSX1001
|
||||
extern _CONST unsigned char iconv_ccs_table_ksx1001[];
|
||||
#ifdef _ICONV_CONVERTER_KSX1001
|
||||
extern _CONST unsigned char _iconv_ccs_table_ksx1001[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_SHIFT_JIS
|
||||
extern _CONST unsigned char iconv_ccs_table_shift_jis[];
|
||||
#ifdef _ICONV_CONVERTER_SHIFT_JIS
|
||||
extern _CONST unsigned char _iconv_ccs_table_shift_jis[];
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_US_ASCII
|
||||
extern _CONST unsigned char iconv_ccs_table_us_ascii[];
|
||||
#ifdef _ICONV_CONVERTER_US_ASCII
|
||||
extern _CONST unsigned char _iconv_ccs_table_us_ascii[];
|
||||
#endif
|
||||
|
||||
_CONST iconv_builtin_table iconv_builtin_ccs[] =
|
||||
_CONST iconv_builtin_table_t _iconv_builtin_ccs[] =
|
||||
{
|
||||
#ifdef ICONV_CONVERTER_BIG5
|
||||
{"big5", (_CONST _VOID_PTR)&iconv_ccs_table_big5},
|
||||
#ifdef _ICONV_CONVERTER_BIG5
|
||||
{"big5", (_CONST _VOID_PTR)&_iconv_ccs_table_big5},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE1
|
||||
{"cns11643_plane1", (_CONST _VOID_PTR)&iconv_ccs_table_cns11643_plane1},
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE1
|
||||
{"cns11643_plane1", (_CONST _VOID_PTR)&_iconv_ccs_table_cns11643_plane1},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE2
|
||||
{"cns11643_plane2", (_CONST _VOID_PTR)&iconv_ccs_table_cns11643_plane2},
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE2
|
||||
{"cns11643_plane2", (_CONST _VOID_PTR)&_iconv_ccs_table_cns11643_plane2},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CNS11643_PLANE14
|
||||
{"cns11643_plane14", (_CONST _VOID_PTR)&iconv_ccs_table_cns11643_plane14},
|
||||
#ifdef _ICONV_CONVERTER_CNS11643_PLANE14
|
||||
{"cns11643_plane14", (_CONST _VOID_PTR)&_iconv_ccs_table_cns11643_plane14},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP775
|
||||
{"cp775", (_CONST _VOID_PTR)&iconv_ccs_table_cp775},
|
||||
#ifdef _ICONV_CONVERTER_CP775
|
||||
{"cp775", (_CONST _VOID_PTR)&_iconv_ccs_table_cp775},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP850
|
||||
{"cp850", (_CONST _VOID_PTR)&iconv_ccs_table_cp850},
|
||||
#ifdef _ICONV_CONVERTER_CP850
|
||||
{"cp850", (_CONST _VOID_PTR)&_iconv_ccs_table_cp850},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP852
|
||||
{"cp852", (_CONST _VOID_PTR)&iconv_ccs_table_cp852},
|
||||
#ifdef _ICONV_CONVERTER_CP852
|
||||
{"cp852", (_CONST _VOID_PTR)&_iconv_ccs_table_cp852},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP855
|
||||
{"cp855", (_CONST _VOID_PTR)&iconv_ccs_table_cp855},
|
||||
#ifdef _ICONV_CONVERTER_CP855
|
||||
{"cp855", (_CONST _VOID_PTR)&_iconv_ccs_table_cp855},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_CP866
|
||||
{"cp866", (_CONST _VOID_PTR)&iconv_ccs_table_cp866},
|
||||
#ifdef _ICONV_CONVERTER_CP866
|
||||
{"cp866", (_CONST _VOID_PTR)&_iconv_ccs_table_cp866},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_GB_2312_80
|
||||
{"gb_2312_80", (_CONST _VOID_PTR)&iconv_ccs_table_gb_2312_80},
|
||||
#ifdef _ICONV_CONVERTER_GB_2312_80
|
||||
{"gb_2312_80", (_CONST _VOID_PTR)&_iconv_ccs_table_gb_2312_80},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_1
|
||||
{"iso_8859_1", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_1},
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_1
|
||||
{"iso_8859_1", (_CONST _VOID_PTR)&_iconv_ccs_table_iso_8859_1},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_15
|
||||
{"iso_8859_15", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_15},
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_15
|
||||
{"iso_8859_15", (_CONST _VOID_PTR)&_iconv_ccs_table_iso_8859_15},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_2
|
||||
{"iso_8859_2", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_2},
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_2
|
||||
{"iso_8859_2", (_CONST _VOID_PTR)&_iconv_ccs_table_iso_8859_2},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_4
|
||||
{"iso_8859_4", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_4},
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_4
|
||||
{"iso_8859_4", (_CONST _VOID_PTR)&_iconv_ccs_table_iso_8859_4},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_8859_5
|
||||
{"iso_8859_5", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_5},
|
||||
#ifdef _ICONV_CONVERTER_ISO_8859_5
|
||||
{"iso_8859_5", (_CONST _VOID_PTR)&_iconv_ccs_table_iso_8859_5},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0201
|
||||
{"jis_x0201", (_CONST _VOID_PTR)&iconv_ccs_table_jis_x0201},
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0201
|
||||
{"jis_x0201", (_CONST _VOID_PTR)&_iconv_ccs_table_jis_x0201},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0208_1983
|
||||
{"jis_x0208_1983", (_CONST _VOID_PTR)&iconv_ccs_table_jis_x0208_1983},
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0208_1983
|
||||
{"jis_x0208_1983", (_CONST _VOID_PTR)&_iconv_ccs_table_jis_x0208_1983},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_JIS_X0212_1990
|
||||
{"jis_x0212_1990", (_CONST _VOID_PTR)&iconv_ccs_table_jis_x0212_1990},
|
||||
#ifdef _ICONV_CONVERTER_JIS_X0212_1990
|
||||
{"jis_x0212_1990", (_CONST _VOID_PTR)&_iconv_ccs_table_jis_x0212_1990},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KOI8_R
|
||||
{"koi8_r", (_CONST _VOID_PTR)&iconv_ccs_table_koi8_r},
|
||||
#ifdef _ICONV_CONVERTER_KOI8_R
|
||||
{"koi8_r", (_CONST _VOID_PTR)&_iconv_ccs_table_koi8_r},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KOI8_U
|
||||
{"koi8_u", (_CONST _VOID_PTR)&iconv_ccs_table_koi8_u},
|
||||
#ifdef _ICONV_CONVERTER_KOI8_U
|
||||
{"koi8_u", (_CONST _VOID_PTR)&_iconv_ccs_table_koi8_u},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_KSX1001
|
||||
{"ksx1001", (_CONST _VOID_PTR)&iconv_ccs_table_ksx1001},
|
||||
#ifdef _ICONV_CONVERTER_KSX1001
|
||||
{"ksx1001", (_CONST _VOID_PTR)&_iconv_ccs_table_ksx1001},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_SHIFT_JIS
|
||||
{"shift_jis", (_CONST _VOID_PTR)&iconv_ccs_table_shift_jis},
|
||||
#ifdef _ICONV_CONVERTER_SHIFT_JIS
|
||||
{"shift_jis", (_CONST _VOID_PTR)&_iconv_ccs_table_shift_jis},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_US_ASCII
|
||||
{"us_ascii", (_CONST _VOID_PTR)&iconv_ccs_table_us_ascii},
|
||||
#ifdef _ICONV_CONVERTER_US_ASCII
|
||||
{"us_ascii", (_CONST _VOID_PTR)&_iconv_ccs_table_us_ascii},
|
||||
#endif
|
||||
{NULL, NULL}
|
||||
{NULL, (_CONST _VOID_PTR)NULL}
|
||||
};
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -23,80 +23,75 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "deps.h"
|
||||
#include <_ansi.h>
|
||||
#include "local.h"
|
||||
|
||||
/*
|
||||
* Each known CES should be registered here
|
||||
*/
|
||||
#ifdef ICONV_CONVERTER_EUC_JP
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_euc_jp;
|
||||
#ifdef _ICONV_CONVERTER_EUC_JP
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_euc_jp;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_KR
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_euc_kr;
|
||||
#ifdef _ICONV_CONVERTER_EUC_KR
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_euc_kr;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_TW
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_euc_tw;
|
||||
#ifdef _ICONV_CONVERTER_EUC_TW
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_euc_tw;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_GB2312
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_gb2312;
|
||||
#ifdef _ICONV_CONVERTER_GB2312
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_gb2312;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_iso_10646_ucs_2;
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_iso_10646_ucs_2;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_iso_10646_ucs_4;
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_iso_10646_ucs_4;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_ucs_2_internal;
|
||||
#ifdef _ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_ucs_2_internal;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_ucs_4_internal;
|
||||
#ifdef _ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_ucs_4_internal;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UTF_16
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_utf_16;
|
||||
#ifdef _ICONV_CONVERTER_UTF_16
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_utf_16;
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UTF_8
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_utf_8;
|
||||
#ifdef _ICONV_CONVERTER_UTF_8
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_module_utf_8;
|
||||
#endif
|
||||
|
||||
_CONST iconv_builtin_table iconv_builtin_ces[] =
|
||||
_CONST iconv_builtin_table_t _iconv_builtin_ces[] =
|
||||
{
|
||||
#ifdef ICONV_CONVERTER_EUC_JP
|
||||
{(_VOID_PTR)"euc_jp", (_VOID_PTR)&iconv_ces_euc_jp},
|
||||
#ifdef _ICONV_CONVERTER_EUC_JP
|
||||
{"euc_jp", (_CONST _VOID_PTR)&_iconv_ces_module_euc_jp},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_KR
|
||||
{(_VOID_PTR)"euc_kr", (_VOID_PTR)&iconv_ces_euc_kr},
|
||||
#ifdef _ICONV_CONVERTER_EUC_KR
|
||||
{"euc_kr", (_CONST _VOID_PTR)&_iconv_ces_module_euc_kr},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_EUC_TW
|
||||
{(_VOID_PTR)"euc_tw", (_VOID_PTR)&iconv_ces_euc_tw},
|
||||
#ifdef _ICONV_CONVERTER_EUC_TW
|
||||
{"euc_tw", (_CONST _VOID_PTR)&_iconv_ces_module_euc_tw},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_GB2312
|
||||
{(_VOID_PTR)"gb_2312_80", (_VOID_PTR)&iconv_ces_gb2312},
|
||||
#ifdef _ICONV_CONVERTER_GB2312
|
||||
{"gb_2312_80", (_CONST _VOID_PTR)&_iconv_ces_module_gb2312},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
{(_VOID_PTR)"iso_10646_ucs_2", (_VOID_PTR)&iconv_ces_iso_10646_ucs_2},
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_2
|
||||
{"iso_10646_ucs_2", (_CONST _VOID_PTR)&_iconv_ces_module_iso_10646_ucs_2},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
{(_VOID_PTR)"iso_10646_ucs_4", (_VOID_PTR)&iconv_ces_iso_10646_ucs_4},
|
||||
#ifdef _ICONV_CONVERTER_ISO_10646_UCS_4
|
||||
{"iso_10646_ucs_4", (_CONST _VOID_PTR)&_iconv_ces_module_iso_10646_ucs_4},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
{(_VOID_PTR)"ucs_2_internal", (_VOID_PTR)&iconv_ces_ucs_2_internal},
|
||||
#ifdef _ICONV_CONVERTER_UCS_2_INTERNAL
|
||||
{"ucs_2_internal", (_CONST _VOID_PTR)&_iconv_ces_module_ucs_2_internal},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
{(_VOID_PTR)"ucs_4_internal", (_VOID_PTR)&iconv_ces_ucs_4_internal},
|
||||
#ifdef _ICONV_CONVERTER_UCS_4_INTERNAL
|
||||
{"ucs_4_internal", (_CONST _VOID_PTR)&_iconv_ces_module_ucs_4_internal},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UTF_16
|
||||
{(_VOID_PTR)"utf_16", (_VOID_PTR)&iconv_ces_utf_16},
|
||||
#ifdef _ICONV_CONVERTER_UTF_16
|
||||
{"utf_16", (_CONST _VOID_PTR)&_iconv_ces_module_utf_16},
|
||||
#endif
|
||||
#ifdef ICONV_CONVERTER_UTF_8
|
||||
{(_VOID_PTR)"utf_8", (_VOID_PTR)&iconv_ces_utf_8},
|
||||
#ifdef _ICONV_CONVERTER_UTF_8
|
||||
{"utf_8", (_CONST _VOID_PTR)&_iconv_ces_module_utf_8},
|
||||
#endif
|
||||
{NULL, NULL}
|
||||
{NULL, (_CONST _VOID_PTR)NULL}
|
||||
};
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -25,15 +25,12 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <reent.h>
|
||||
#include <endian.h>
|
||||
#include <_ansi.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
#include "local.h"
|
||||
@ -96,7 +93,7 @@ _DEFUN(letohl, (s), __uint32_t l)
|
||||
typedef struct {
|
||||
unsigned char label[8]; /* CSconvT<N>; N=[0-3] */
|
||||
__uint32_t tables[2]; /* offsets to 2 unidirectional tables */
|
||||
} iconv_ccs_convtable;
|
||||
} iconv_ccs_convtable_t;
|
||||
|
||||
#define ICONV_TBL_LABEL "\003CSCT"
|
||||
#define ICONV_TBL_LABEL_SIZE 5
|
||||
@ -105,7 +102,7 @@ typedef struct {
|
||||
#define ICONV_TBL_VERSION(table) ((table)->label[7])
|
||||
|
||||
/* Indices for unidirectional conversion tables */
|
||||
enum { iconv_ccs_to_ucs = 0, iconv_ccs_from_ucs = 1 };
|
||||
enum { _iconv_ccs_to_ucs = 0, _iconv_ccs_from_ucs = 1 };
|
||||
|
||||
|
||||
/* Unidirectional conversion table types */
|
||||
@ -113,29 +110,29 @@ enum { iconv_ccs_to_ucs = 0, iconv_ccs_from_ucs = 1 };
|
||||
/* one-level tables */
|
||||
typedef struct {
|
||||
ucs2_t data[128];
|
||||
} iconv_ccs_table_7bit; /* 7-bit charset to Unicode */
|
||||
} iconv_ccs_table_7bit_t; /* 7-bit charset to Unicode */
|
||||
|
||||
typedef struct {
|
||||
ucs2_t data[256];
|
||||
} iconv_ccs_table_8bit; /* 8-bit charset to Unicode */
|
||||
} iconv_ccs_table_8bit_t; /* 8-bit charset to Unicode */
|
||||
|
||||
/* two-level tables */
|
||||
typedef struct {
|
||||
__uint32_t data[128];
|
||||
} iconv_ccs_table_14bit; /* 14-bit charset to Unicode */
|
||||
} iconv_ccs_table_14bit_t; /* 14-bit charset to Unicode */
|
||||
|
||||
typedef struct {
|
||||
__uint32_t data[256];
|
||||
} iconv_ccs_table_16bit; /* 16-bit charset to Unicode;
|
||||
* Unicode to any charset */
|
||||
} iconv_ccs_table_16bit_t; /* 16-bit charset to Unicode;
|
||||
* Unicode to any charset */
|
||||
|
||||
/* abstract table */
|
||||
typedef union {
|
||||
iconv_ccs_table_7bit _7bit;
|
||||
iconv_ccs_table_8bit _8bit;
|
||||
iconv_ccs_table_14bit _14bit;
|
||||
iconv_ccs_table_16bit _16bit;
|
||||
} iconv_ccs_table_abstract;
|
||||
iconv_ccs_table_7bit_t _7bit;
|
||||
iconv_ccs_table_8bit_t _8bit;
|
||||
iconv_ccs_table_14bit_t _14bit;
|
||||
iconv_ccs_table_16bit_t _16bit;
|
||||
} iconv_ccs_table_abstract_t;
|
||||
|
||||
/* host and network byte order array element macros */
|
||||
#define iconv_table_elt_le(base, i, type) \
|
||||
@ -144,7 +141,7 @@ typedef union {
|
||||
#define iconv_table_elt_be(base, i, type) \
|
||||
((type *)(((char *)(base)) + betohl(((__int32_t *)(base))[(i)])))
|
||||
|
||||
#define abstable ((_CONST iconv_ccs_table_abstract *)table)
|
||||
#define abstable ((_CONST iconv_ccs_table_abstract_t *)table)
|
||||
|
||||
/* Functions for little endian byte order tables */
|
||||
static ucs2_t
|
||||
@ -168,11 +165,11 @@ _DEFUN(cvt_14bit_le, (table, ch),
|
||||
_CONST _VOID_PTR table _AND
|
||||
ucs2_t ch)
|
||||
{
|
||||
_CONST iconv_ccs_table_7bit *sub_table;
|
||||
_CONST iconv_ccs_table_7bit_t *sub_table;
|
||||
|
||||
if (ch & 0x8080)
|
||||
return UCS_CHAR_INVALID;
|
||||
sub_table = iconv_table_elt_le(table, ch >> 8, iconv_ccs_table_7bit);
|
||||
sub_table = iconv_table_elt_le(table, ch >> 8, iconv_ccs_table_7bit_t);
|
||||
return sub_table == &(abstable->_7bit) ? UCS_CHAR_INVALID
|
||||
: letohs(sub_table->data[ch & 0x7F]);
|
||||
}
|
||||
@ -182,8 +179,8 @@ _DEFUN(cvt_16bit_le, (table, ch),
|
||||
_CONST _VOID_PTR table _AND
|
||||
ucs2_t ch)
|
||||
{
|
||||
_CONST iconv_ccs_table_8bit *sub_table =
|
||||
iconv_table_elt_le(table, ch >> 8, iconv_ccs_table_8bit);
|
||||
_CONST iconv_ccs_table_8bit_t *sub_table =
|
||||
iconv_table_elt_le(table, ch >> 8, iconv_ccs_table_8bit_t);
|
||||
return sub_table == &(abstable->_8bit) ? UCS_CHAR_INVALID
|
||||
: letohs(sub_table->data[ch & 0xFF]);
|
||||
}
|
||||
@ -215,11 +212,11 @@ _DEFUN(cvt_14bit_be, (table, ch),
|
||||
_CONST _VOID_PTR table _AND
|
||||
ucs2_t ch)
|
||||
{
|
||||
_CONST iconv_ccs_table_7bit *sub_table;
|
||||
_CONST iconv_ccs_table_7bit_t *sub_table;
|
||||
|
||||
if (ch & 0x8080)
|
||||
return UCS_CHAR_INVALID;
|
||||
sub_table = iconv_table_elt_be(table, ch >> 8, iconv_ccs_table_7bit);
|
||||
sub_table = iconv_table_elt_be(table, ch >> 8, iconv_ccs_table_7bit_t);
|
||||
return sub_table == &(abstable->_7bit) ? UCS_CHAR_INVALID
|
||||
: betohs(sub_table->data[ch & 0x7F]);
|
||||
}
|
||||
@ -229,8 +226,8 @@ _DEFUN(cvt_16bit_be, (table, ch),
|
||||
_CONST _VOID_PTR table _AND
|
||||
ucs2_t ch)
|
||||
{
|
||||
_CONST iconv_ccs_table_8bit *sub_table =
|
||||
iconv_table_elt_be(table, ch >> 8, iconv_ccs_table_8bit);
|
||||
_CONST iconv_ccs_table_8bit_t *sub_table =
|
||||
iconv_table_elt_be(table, ch >> 8, iconv_ccs_table_8bit_t);
|
||||
return sub_table == &(abstable->_8bit) ? UCS_CHAR_INVALID
|
||||
: betohs(sub_table->data[ch & 0xFF]);
|
||||
}
|
||||
@ -245,7 +242,7 @@ static iconv_ccs_convert_t * _CONST converters_be[] = {
|
||||
static int
|
||||
_DEFUN(ccs_init, (ccs, table),
|
||||
struct iconv_ccs *ccs _AND
|
||||
_CONST iconv_ccs_convtable *table)
|
||||
_CONST iconv_ccs_convtable_t *table)
|
||||
{
|
||||
if (strncmp(table->label, ICONV_TBL_LABEL, ICONV_TBL_LABEL_SIZE))
|
||||
return EINVAL;
|
||||
@ -256,21 +253,21 @@ _DEFUN(ccs_init, (ccs, table),
|
||||
if (ICONV_TBL_BYTE_ORDER(table) == ICONV_CCT_LE) {
|
||||
/* Little Endian */
|
||||
ccs->from_ucs = iconv_table_elt_le(table->tables,
|
||||
iconv_ccs_from_ucs,
|
||||
_CONST iconv_ccs_convtable);
|
||||
_iconv_ccs_from_ucs,
|
||||
_CONST iconv_ccs_convtable_t);
|
||||
ccs->to_ucs = iconv_table_elt_le(table->tables,
|
||||
iconv_ccs_to_ucs,
|
||||
_CONST iconv_ccs_convtable);
|
||||
_iconv_ccs_to_ucs,
|
||||
_CONST iconv_ccs_convtable_t);
|
||||
ccs->convert_from_ucs = cvt_16bit_le;
|
||||
ccs->convert_to_ucs = converters_le[ICONV_TBL_VERSION(table)];
|
||||
} else {
|
||||
/* Big Endian (Network Byte Order) */
|
||||
ccs->from_ucs = iconv_table_elt_be(table->tables,
|
||||
iconv_ccs_from_ucs,
|
||||
_CONST iconv_ccs_convtable);
|
||||
_iconv_ccs_from_ucs,
|
||||
_CONST iconv_ccs_convtable_t);
|
||||
ccs->to_ucs = iconv_table_elt_be(table->tables,
|
||||
iconv_ccs_to_ucs,
|
||||
_CONST iconv_ccs_convtable);
|
||||
_iconv_ccs_to_ucs,
|
||||
_CONST iconv_ccs_convtable_t);
|
||||
ccs->convert_from_ucs = cvt_16bit_be;
|
||||
ccs->convert_to_ucs = converters_be[ICONV_TBL_VERSION(table)];
|
||||
}
|
||||
@ -291,10 +288,10 @@ _DEFUN(iconv_ccs_init_builtin, (ccs, name),
|
||||
struct iconv_ccs *ccs _AND
|
||||
_CONST char *name)
|
||||
{
|
||||
_CONST iconv_builtin_table *ccs_ptr;
|
||||
for (ccs_ptr = iconv_builtin_ccs; ccs_ptr->key != NULL; ccs_ptr ++) {
|
||||
_CONST iconv_builtin_table_t *ccs_ptr;
|
||||
for (ccs_ptr = _iconv_builtin_ccs; ccs_ptr->key != NULL; ccs_ptr ++) {
|
||||
if (strcmp(ccs_ptr->key, name) == 0) {
|
||||
int res = ccs_init(ccs, (_CONST iconv_ccs_convtable *)
|
||||
int res = ccs_init(ccs, (_CONST iconv_ccs_convtable_t *)
|
||||
(ccs_ptr->value));
|
||||
if (res == 0)
|
||||
ccs->close = close_builtin;
|
||||
@ -306,7 +303,7 @@ _DEFUN(iconv_ccs_init_builtin, (ccs, name),
|
||||
|
||||
/* External CCS initialisation */
|
||||
struct external_extra {
|
||||
_CONST iconv_ccs_convtable *ptr;
|
||||
_CONST iconv_ccs_convtable_t *ptr;
|
||||
off_t size;
|
||||
};
|
||||
|
||||
@ -327,7 +324,7 @@ _DEFUN(iconv_ccs_init_external, (rptr, ccs, name),
|
||||
_CONST char *name)
|
||||
{
|
||||
char *file;
|
||||
_CONST iconv_ccs_convtable *ccs_ptr;
|
||||
_CONST iconv_ccs_convtable_t *ccs_ptr;
|
||||
_CONST char *datapath;
|
||||
_iconv_fd_t *extra;
|
||||
|
||||
@ -358,7 +355,7 @@ _DEFUN(iconv_ccs_init_external, (rptr, ccs, name),
|
||||
}
|
||||
_free_r(rptr, (_VOID_PTR)name);
|
||||
|
||||
ccs_ptr = (_CONST iconv_ccs_convtable *)extra->mem;
|
||||
ccs_ptr = (_CONST iconv_ccs_convtable_t *)extra->mem;
|
||||
if (ccs_init(ccs, ccs_ptr) != 0) {
|
||||
_iconv_unload_file(rptr, extra);
|
||||
_free_r(rptr, (_VOID_PTR)extra);
|
||||
@ -371,10 +368,10 @@ _DEFUN(iconv_ccs_init_external, (rptr, ccs, name),
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_ccs_init, (rptr, ccs, name),
|
||||
struct _reent *rptr _AND
|
||||
struct iconv_ccs *ccs _AND
|
||||
_CONST char *name)
|
||||
_DEFUN(_iconv_ccs_init, (rptr, ccs, name),
|
||||
struct _reent *rptr _AND
|
||||
struct iconv_ccs *ccs _AND
|
||||
_CONST char *name)
|
||||
{
|
||||
int res = iconv_ccs_init_builtin(ccs, name);
|
||||
if (res)
|
||||
@ -384,5 +381,3 @@ _DEFUN(iconv_ccs_init, (rptr, ccs, name),
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -25,9 +25,6 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
@ -67,8 +64,8 @@ _DEFUN(ces_init_builtin, (rptr, ces, name),
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST char *name)
|
||||
{
|
||||
_CONST iconv_builtin_table *ces_ptr;
|
||||
for (ces_ptr = iconv_builtin_ces; ces_ptr->key != NULL; ces_ptr ++)
|
||||
_CONST iconv_builtin_table_t *ces_ptr;
|
||||
for (ces_ptr = _iconv_builtin_ces; ces_ptr->key != NULL; ces_ptr ++)
|
||||
if (strcmp(ces_ptr->key, name) == 0)
|
||||
return ces_instance_init(rptr, ces, name,
|
||||
(_CONST struct iconv_ces_desc *)(ces_ptr->value));
|
||||
@ -76,21 +73,21 @@ _DEFUN(ces_init_builtin, (rptr, ces, name),
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_ces_init, (rptr, ces, name),
|
||||
struct _reent *rptr _AND
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST char *name)
|
||||
_DEFUN(_iconv_ces_init, (rptr, ces, name),
|
||||
struct _reent *rptr _AND
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST char *name)
|
||||
{
|
||||
return ces_init_builtin(rptr, ces, name)
|
||||
&& ces_instance_init(rptr, ces, name, &iconv_ces_table_driven);
|
||||
&& ces_instance_init(rptr, ces, name, &_iconv_ces_table_driven);
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_ces_init_state, (rptr, res, name, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *res _AND
|
||||
_CONST char *name _AND
|
||||
_CONST _VOID_PTR data)
|
||||
_DEFUN(_iconv_ces_init_state, (rptr, res, name, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *res _AND
|
||||
_CONST char *name _AND
|
||||
_CONST _VOID_PTR data)
|
||||
{
|
||||
if ((*res = _malloc_r(rptr, sizeof(int))) == NULL)
|
||||
return __errno_r(rptr);
|
||||
@ -99,7 +96,7 @@ _DEFUN(iconv_ces_init_state, (rptr, res, name, data),
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_ces_close_state, (rptr, data),
|
||||
_DEFUN(_iconv_ces_close_state, (rptr, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR data)
|
||||
{
|
||||
@ -109,23 +106,23 @@ _DEFUN(iconv_ces_close_state, (rptr, data),
|
||||
}
|
||||
|
||||
_VOID
|
||||
_DEFUN(iconv_ces_reset_state, (data), _VOID_PTR data)
|
||||
_DEFUN(_iconv_ces_reset_state, (data), _VOID_PTR data)
|
||||
{
|
||||
*(int *)data = 0;
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_ces_init_null, (rptr, res, name, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *res _AND
|
||||
_CONST char *name _AND
|
||||
_CONST _VOID_PTR data)
|
||||
_DEFUN(_iconv_ces_init_null, (rptr, res, name, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *res _AND
|
||||
_CONST char *name _AND
|
||||
_CONST _VOID_PTR data)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_ces_close_null, (rptr, data),
|
||||
_DEFUN(_iconv_ces_close_null, (rptr, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR data)
|
||||
{
|
||||
@ -133,9 +130,8 @@ _DEFUN(iconv_ces_close_null, (rptr, data),
|
||||
}
|
||||
|
||||
_VOID
|
||||
_DEFUN(iconv_ces_reset_null, (data), _VOID_PTR data)
|
||||
_DEFUN(_iconv_ces_reset_null, (data), _VOID_PTR data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*-
|
||||
/*
|
||||
* Copyright (c) 1999,2000
|
||||
* Konstantin Chuguev. All rights reserved.
|
||||
*
|
||||
@ -25,10 +25,7 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include "deps.h"
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <stddef.h>
|
||||
#include <errno.h>
|
||||
@ -42,25 +39,25 @@
|
||||
typedef struct {
|
||||
int nccs;
|
||||
struct iconv_ccs ccs[1];
|
||||
} iconv_ces_euc_state;
|
||||
} iconv_ces_euc_state_t;
|
||||
|
||||
int
|
||||
_DEFUN(iconv_euc_init, (rptr, data, desc_data, num),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *data _AND
|
||||
_CONST _VOID_PTR desc_data _AND
|
||||
size_t num)
|
||||
_DEFUN(_iconv_euc_init, (rptr, data, desc_data, num),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *data _AND
|
||||
_CONST _VOID_PTR desc_data _AND
|
||||
size_t num)
|
||||
{
|
||||
size_t stsz = sizeof(iconv_ces_euc_state) +
|
||||
size_t stsz = sizeof(iconv_ces_euc_state_t) +
|
||||
sizeof(struct iconv_ccs) * (num - 1);
|
||||
int i;
|
||||
iconv_ces_euc_state *state = (iconv_ces_euc_state *)_malloc_r(rptr, stsz);
|
||||
iconv_ces_euc_state_t *state = (iconv_ces_euc_state_t *)_malloc_r(rptr, stsz);
|
||||
|
||||
if (state == NULL)
|
||||
return __errno_r(rptr);
|
||||
for (i = 0; i < num; i++) {
|
||||
int res = iconv_ccs_init(rptr, &(state->ccs[i]),
|
||||
((_CONST iconv_ces_euc_ccs *) desc_data)[i].name);
|
||||
int res = _iconv_ccs_init(rptr, &(state->ccs[i]),
|
||||
((_CONST iconv_ces_euc_ccs_t *) desc_data)[i].name);
|
||||
if (res) {
|
||||
while (--i >= 0)
|
||||
state->ccs[i].close(rptr, &(state->ccs[i]));
|
||||
@ -69,16 +66,16 @@ _DEFUN(iconv_euc_init, (rptr, data, desc_data, num),
|
||||
}
|
||||
}
|
||||
state->nccs = num;
|
||||
(iconv_ces_euc_state *)*data = state;
|
||||
(iconv_ces_euc_state_t *)*data = state;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
_DEFUN(iconv_euc_close, (rptr, data),
|
||||
_DEFUN(_iconv_euc_close, (rptr, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR data)
|
||||
{
|
||||
#define state ((iconv_ces_euc_state *)data)
|
||||
#define state ((iconv_ces_euc_state_t *)data)
|
||||
int i, res = 0;
|
||||
|
||||
for (i = 0; i < state->nccs; i++)
|
||||
@ -92,13 +89,13 @@ _DEFUN(iconv_euc_close, (rptr, data),
|
||||
#define is_7bit(data) ((data)->nbits & 1)
|
||||
|
||||
ssize_t
|
||||
_DEFUN(iconv_euc_convert_from_ucs, (ces, in, outbuf, outbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
ucs_t in _AND
|
||||
unsigned char **outbuf _AND
|
||||
size_t *outbytesleft)
|
||||
_DEFUN(_iconv_euc_convert_from_ucs, (ces, in, outbuf, outbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
ucs_t in _AND
|
||||
unsigned char **outbuf _AND
|
||||
size_t *outbytesleft)
|
||||
{
|
||||
iconv_ces_euc_state *euc_state;
|
||||
iconv_ces_euc_state_t *euc_state;
|
||||
size_t bytes;
|
||||
int i;
|
||||
|
||||
@ -106,15 +103,15 @@ _DEFUN(iconv_euc_convert_from_ucs, (ces, in, outbuf, outbytesleft),
|
||||
return 1; /* No state reinitialization for table charsets */
|
||||
if (iconv_char32bit(in))
|
||||
return -1;
|
||||
euc_state = (iconv_ces_euc_state *)(ces->data);
|
||||
euc_state = (iconv_ces_euc_state_t *)(ces->data);
|
||||
for (i = 0; i < euc_state->nccs; i++) {
|
||||
_CONST iconv_ces_euc_ccs *ccsattr;
|
||||
_CONST iconv_ces_euc_ccs_t *ccsattr;
|
||||
_CONST struct iconv_ccs *ccs = &(euc_state->ccs[i]);
|
||||
ucs_t res = ICONV_CCS_CONVERT_FROM_UCS(ccs, in);
|
||||
|
||||
if (res == UCS_CHAR_INVALID)
|
||||
continue;
|
||||
ccsattr = &(((_CONST iconv_ces_euc_ccs *)(ces->desc->data))[i]);
|
||||
ccsattr = &(((_CONST iconv_ces_euc_ccs_t *)(ces->desc->data))[i]);
|
||||
if (i) {
|
||||
if (is_7_14bit(ccs))
|
||||
res |= is_7bit(ccs) ? 0x80 : 0x8080;
|
||||
@ -165,21 +162,21 @@ _DEFUN(cvt2ucs, (ccs, inbuf, inbytesleft, hi_plane, bufptr),
|
||||
}
|
||||
|
||||
ucs_t
|
||||
_DEFUN(iconv_euc_convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST unsigned char **inbuf _AND
|
||||
size_t *inbytesleft)
|
||||
_DEFUN(_iconv_euc_convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST unsigned char **inbuf _AND
|
||||
size_t *inbytesleft)
|
||||
{
|
||||
iconv_ces_euc_state *euc_state =
|
||||
(iconv_ces_euc_state *)(ces->data);
|
||||
iconv_ces_euc_state_t *euc_state =
|
||||
(iconv_ces_euc_state_t *)(ces->data);
|
||||
ucs_t res = UCS_CHAR_INVALID;
|
||||
_CONST unsigned char *ptr;
|
||||
int i;
|
||||
|
||||
if (**inbuf & 0x80) {
|
||||
for (i = 1; i < euc_state->nccs; i++) {
|
||||
_CONST iconv_ces_euc_ccs *ccsattr =
|
||||
&(((_CONST iconv_ces_euc_ccs *)
|
||||
_CONST iconv_ces_euc_ccs_t *ccsattr =
|
||||
&(((_CONST iconv_ces_euc_ccs_t *)
|
||||
(ces->desc->data))[i]);
|
||||
if (ccsattr->prefixlen + 1 > *inbytesleft)
|
||||
return UCS_CHAR_NONE;
|
||||
@ -204,5 +201,3 @@ _DEFUN(iconv_euc_convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -25,9 +25,6 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -37,18 +34,18 @@ typedef struct {
|
||||
_CONST char *sequence;
|
||||
size_t length;
|
||||
int prefix_type;
|
||||
} iconv_ces_iso2022_shift;
|
||||
} iconv_ces_iso2022_shift_t;
|
||||
|
||||
enum { ICONV_PREFIX_STATE = 0, ICONV_PREFIX_LINE, ICONV_PREFIX_CHAR };
|
||||
|
||||
static _CONST iconv_ces_iso2022_shift iso_shift[] = {
|
||||
static _CONST iconv_ces_iso2022_shift_t iso_shift[] = {
|
||||
{ "\x0f", 1, ICONV_PREFIX_STATE },
|
||||
{ "\x0e", 1, ICONV_PREFIX_LINE },
|
||||
{ "\x1bN", 2, ICONV_PREFIX_CHAR },
|
||||
{ "\x1bO", 2, ICONV_PREFIX_CHAR }
|
||||
};
|
||||
|
||||
#define shift_num (sizeof(iso_shift) / sizeof(iconv_ces_iso2022_shift))
|
||||
#define shift_num (sizeof(iso_shift) / sizeof(iconv_ces_iso2022_shift_t))
|
||||
|
||||
typedef struct {
|
||||
int nccs;
|
||||
@ -57,28 +54,28 @@ typedef struct {
|
||||
int shift_tab[shift_num];
|
||||
char prefix_cache[128];
|
||||
struct iconv_ccs ccs[1];
|
||||
} iconv_ces_iso2022_state;
|
||||
} iconv_ces_iso2022_state_t;
|
||||
|
||||
int
|
||||
_DEFUN(iconv_iso2022_init, (rptr, data, desc_data, num),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *data _AND
|
||||
_CONST _VOID_PTR desc_data _AND
|
||||
size_t num)
|
||||
_DEFUN(_iconv_iso2022_init, (rptr, data, desc_data, num),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR *data _AND
|
||||
_CONST _VOID_PTR desc_data _AND
|
||||
size_t num)
|
||||
{
|
||||
size_t stsz = sizeof(iconv_ces_iso2022_state) +
|
||||
size_t stsz = sizeof(iconv_ces_iso2022_state_t) +
|
||||
sizeof(struct iconv_ccs) * (num - 1);
|
||||
int i;
|
||||
iconv_ces_iso2022_state *state
|
||||
= (iconv_ces_iso2022_state *)_malloc_r(rptr, stsz);
|
||||
iconv_ces_iso2022_state_t *state
|
||||
= (iconv_ces_iso2022_state_t *)_malloc_r(rptr, stsz);
|
||||
|
||||
if (state == NULL)
|
||||
return __errno_r(rptr);
|
||||
bzero(state->prefix_cache, sizeof(state->prefix_cache));
|
||||
for (i = 0; i < num; i++) {
|
||||
_CONST iconv_ces_iso2022_ccs *ccsattr =
|
||||
&(((_CONST iconv_ces_iso2022_ccs *)desc_data)[i]);
|
||||
int res = iconv_ccs_init(rptr, &(state->ccs[i]), ccsattr->name);
|
||||
_CONST iconv_ces_iso2022_ccs_t *ccsattr =
|
||||
&(((_CONST iconv_ces_iso2022_ccs_t *)desc_data)[i]);
|
||||
int res = _iconv_ccs_init(rptr, &(state->ccs[i]), ccsattr->name);
|
||||
if (res) {
|
||||
while (--i >= 0)
|
||||
state->ccs[i].close(rptr, &(state->ccs[i]));
|
||||
@ -92,14 +89,14 @@ _DEFUN(iconv_iso2022_init, (rptr, data, desc_data, num),
|
||||
}
|
||||
state->nccs = num;
|
||||
iconv_iso2022_reset(state);
|
||||
(iconv_ces_iso2022_state *)*data = state;
|
||||
(iconv_ces_iso2022_state_t *)*data = state;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define state ((iconv_ces_iso2022_state *)data)
|
||||
#define state ((iconv_ces_iso2022_state_t *)data)
|
||||
|
||||
int
|
||||
_DEFUN(iconv_iso2022_close, (rptr, data),
|
||||
_DEFUN(_iconv_iso2022_close, (rptr, data),
|
||||
struct _reent *rptr _AND
|
||||
_VOID_PTR data)
|
||||
{
|
||||
@ -112,7 +109,7 @@ _DEFUN(iconv_iso2022_close, (rptr, data),
|
||||
}
|
||||
|
||||
_VOID
|
||||
_DEFUN(iconv_iso2022_reset, (data), _VOID_PTR data)
|
||||
_DEFUN(_iconv_iso2022_reset, (data), _VOID_PTR data)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
@ -125,8 +122,8 @@ _DEFUN(iconv_iso2022_reset, (data), _VOID_PTR data)
|
||||
|
||||
#undef state
|
||||
|
||||
#define CES_STATE(ces) ((iconv_ces_iso2022_state *)((ces)->data))
|
||||
#define CES_CCSATTR(ces) ((_CONST iconv_ces_iso2022_ccs *) \
|
||||
#define CES_STATE(ces) ((iconv_ces_iso2022_state_t *)((ces)->data))
|
||||
#define CES_CCSATTR(ces) ((_CONST iconv_ces_iso2022_ccs_t *) \
|
||||
(((struct iconv_ces_desc *)((ces)->desc))->data))
|
||||
|
||||
static _VOID
|
||||
@ -134,7 +131,7 @@ _DEFUN(update_shift_state, (ces, ch),
|
||||
_CONST struct iconv_ces *ces _AND
|
||||
ucs_t ch)
|
||||
{
|
||||
iconv_ces_iso2022_state *iso_state = CES_STATE(ces);
|
||||
iconv_ces_iso2022_state_t *iso_state = CES_STATE(ces);
|
||||
size_t i;
|
||||
|
||||
if (ch == '\n' && iso_state->previous_char == '\r') {
|
||||
@ -156,8 +153,8 @@ _DEFUN(cvt_ucs2iso, (ces, in, outbuf, outbytesleft, cs),
|
||||
size_t *outbytesleft _AND
|
||||
int cs)
|
||||
{
|
||||
iconv_ces_iso2022_state *iso_state = CES_STATE(ces);
|
||||
_CONST iconv_ces_iso2022_ccs *ccsattr;
|
||||
iconv_ces_iso2022_state_t *iso_state = CES_STATE(ces);
|
||||
_CONST iconv_ces_iso2022_ccs_t *ccsattr;
|
||||
_CONST struct iconv_ccs *ccs;
|
||||
ucs_t res;
|
||||
size_t len = 0;
|
||||
@ -210,13 +207,13 @@ _DEFUN(cvt_ucs2iso, (ces, in, outbuf, outbytesleft, cs),
|
||||
}
|
||||
|
||||
ssize_t
|
||||
_DEFUN(iconv_iso2022_convert_from_ucs, (ces, in, outbuf, outbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
ucs_t in _AND
|
||||
unsigned char **outbuf _AND
|
||||
size_t *outbytesleft)
|
||||
_DEFUN(_iconv_iso2022_convert_from_ucs, (ces, in, outbuf, outbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
ucs_t in _AND
|
||||
unsigned char **outbuf _AND
|
||||
size_t *outbytesleft)
|
||||
{
|
||||
iconv_ces_iso2022_state *iso_state = CES_STATE(ces);
|
||||
iconv_ces_iso2022_state_t *iso_state = CES_STATE(ces);
|
||||
ssize_t res;
|
||||
int cs, i;
|
||||
|
||||
@ -262,13 +259,13 @@ _DEFUN(cvt_iso2ucs, (ccs, inbuf, inbytesleft, prefix_type),
|
||||
}
|
||||
|
||||
ucs_t
|
||||
_DEFUN(iconv_iso2022_convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST unsigned char **inbuf _AND
|
||||
size_t *inbytesleft)
|
||||
_DEFUN(_iconv_iso2022_convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
struct iconv_ces *ces _AND
|
||||
_CONST unsigned char **inbuf _AND
|
||||
size_t *inbytesleft)
|
||||
{
|
||||
iconv_ces_iso2022_state *iso_state = CES_STATE(ces);
|
||||
_CONST iconv_ces_iso2022_ccs *ccsattr;
|
||||
iconv_ces_iso2022_state_t *iso_state = CES_STATE(ces);
|
||||
_CONST iconv_ces_iso2022_ccs_t *ccsattr;
|
||||
ucs_t res;
|
||||
_CONST unsigned char *ptr = *inbuf;
|
||||
unsigned char byte;
|
||||
@ -328,5 +325,3 @@ _DEFUN(iconv_iso2022_convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -25,9 +25,6 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
@ -46,7 +43,7 @@ _DEFUN(table_init, (rptr, data, name, desc_data),
|
||||
struct iconv_ccs *ccs = _malloc_r(rptr, sizeof(struct iconv_ccs));
|
||||
if (ccs == NULL)
|
||||
return __errno_r(rptr);
|
||||
res = iconv_ccs_init(rptr, ccs, name);
|
||||
res = _iconv_ccs_init(rptr, ccs, name);
|
||||
if (res)
|
||||
_free_r(rptr, ccs);
|
||||
else
|
||||
@ -114,14 +111,12 @@ _DEFUN(convert_to_ucs, (ces, inbuf, inbytesleft),
|
||||
return res;
|
||||
}
|
||||
|
||||
_CONST struct iconv_ces_desc iconv_ces_table_driven = {
|
||||
_CONST struct iconv_ces_desc _iconv_ces_table_driven = {
|
||||
table_init,
|
||||
table_close,
|
||||
iconv_ces_reset_null,
|
||||
_iconv_ces_reset_null,
|
||||
convert_from_ucs,
|
||||
convert_to_ucs,
|
||||
NULL
|
||||
};
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -25,9 +25,6 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -36,15 +33,15 @@
|
||||
#include <limits.h>
|
||||
#include "local.h"
|
||||
|
||||
static iconv_converter *
|
||||
static iconv_converter_t *
|
||||
_DEFUN(converter_init, (rptr, conv_func, close_func, extra),
|
||||
struct _reent *rptr _AND
|
||||
iconv_conv_t conv_func _AND
|
||||
iconv_close_t close_func _AND
|
||||
size_t extra)
|
||||
{
|
||||
iconv_converter *res = _malloc_r(rptr, sizeof(iconv_converter) + extra);
|
||||
memset(res, 0, sizeof(iconv_converter) + extra);
|
||||
iconv_converter_t *res = _malloc_r(rptr, sizeof(iconv_converter_t) + extra);
|
||||
memset(res, 0, sizeof(iconv_converter_t) + extra);
|
||||
if (res) {
|
||||
res->convert = conv_func;
|
||||
res->close = close_func;
|
||||
@ -58,7 +55,7 @@ _DEFUN(unicode_close, (rptr, data),
|
||||
_VOID_PTR data)
|
||||
{
|
||||
int res;
|
||||
unicode_converter *uc = (unicode_converter *)data;
|
||||
unicode_converter_t *uc = (unicode_converter_t *)data;
|
||||
|
||||
res = ICONV_CES_CLOSE(rptr, &(uc->from));
|
||||
res = ICONV_CES_CLOSE(rptr, &(uc->to)) || res;
|
||||
@ -75,7 +72,7 @@ _DEFUN(unicode_conv, (rptr, data, inbuf, inbytesleft, outbuf, outbytesleft),
|
||||
size_t *outbytesleft)
|
||||
{
|
||||
size_t res = 0;
|
||||
unicode_converter *uc = (unicode_converter *)data;
|
||||
unicode_converter_t *uc = (unicode_converter_t *)data;
|
||||
|
||||
if (inbuf == NULL || *inbuf == NULL) {
|
||||
if (ICONV_CES_CONVERT_FROM_UCS(&(uc->to), UCS_CHAR_NONE,
|
||||
@ -130,21 +127,21 @@ _DEFUN(unicode_conv, (rptr, data, inbuf, inbytesleft, outbuf, outbytesleft),
|
||||
return res;
|
||||
}
|
||||
|
||||
iconv_converter *
|
||||
_DEFUN(iconv_unicode_conv_init, (rptr, to, from),
|
||||
struct _reent *rptr _AND
|
||||
_CONST char *to _AND
|
||||
_CONST char *from)
|
||||
iconv_converter_t *
|
||||
_DEFUN(_iconv_unicode_conv_init, (rptr, to, from),
|
||||
struct _reent *rptr _AND
|
||||
_CONST char *to _AND
|
||||
_CONST char *from)
|
||||
{
|
||||
unicode_converter *uc;
|
||||
iconv_converter *ic = converter_init(rptr, unicode_conv, unicode_close,
|
||||
sizeof(unicode_converter));
|
||||
unicode_converter_t *uc;
|
||||
iconv_converter_t *ic = converter_init(rptr, unicode_conv, unicode_close,
|
||||
sizeof(unicode_converter_t));
|
||||
|
||||
if (ic == NULL)
|
||||
return NULL;
|
||||
uc = (unicode_converter *)(ic + 1);
|
||||
if (!iconv_ces_init(rptr, &(uc->from), from)) {
|
||||
if(!iconv_ces_init(rptr, &(uc->to), to))
|
||||
uc = (unicode_converter_t *)(ic + 1);
|
||||
if (!_iconv_ces_init(rptr, &(uc->from), from)) {
|
||||
if(!_iconv_ces_init(rptr, &(uc->to), to))
|
||||
{
|
||||
uc->missing = '_';
|
||||
return ic;
|
||||
@ -195,14 +192,12 @@ _DEFUN(null_conv, (rptr, data, inbuf, inbytesleft, outbuf, outbytesleft),
|
||||
return 0;
|
||||
}
|
||||
|
||||
iconv_converter *
|
||||
_DEFUN(iconv_null_conv_init, (rptr, to, from),
|
||||
struct _reent *rptr _AND
|
||||
_CONST char *to _AND
|
||||
_CONST char *from)
|
||||
iconv_converter_t *
|
||||
_DEFUN(_iconv_null_conv_init, (rptr, to, from),
|
||||
struct _reent *rptr _AND
|
||||
_CONST char *to _AND
|
||||
_CONST char *from)
|
||||
{
|
||||
return converter_init(rptr, null_conv, null_close, 0);
|
||||
}
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -23,72 +23,70 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#ifndef __ICONV_DEPS_H__
|
||||
#define __ICONV_DEPS_H__
|
||||
|
||||
#include <newlib.h>
|
||||
|
||||
/*
|
||||
* EUC-JP requires us_ascii, jis_x0208_1983, jis_x0201, jis_x0212_1990
|
||||
*/
|
||||
#ifdef ICONV_CONVERTER_EUC_JP
|
||||
# ifndef ICONV_CONVERTER_US_ASCII
|
||||
# define ICONV_CONVERTER_US_ASCII
|
||||
#ifdef _ICONV_CONVERTER_EUC_JP
|
||||
# ifndef _ICONV_CONVERTER_US_ASCII
|
||||
# define _ICONV_CONVERTER_US_ASCII
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_JIS_X0208_1983
|
||||
# define ICONV_CONVERTER_JIS_X0208_1983
|
||||
# ifndef _ICONV_CONVERTER_JIS_X0208_1983
|
||||
# define _ICONV_CONVERTER_JIS_X0208_1983
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_JIS_X0201
|
||||
# define ICONV_CONVERTER_JIS_X0201
|
||||
# ifndef _ICONV_CONVERTER_JIS_X0201
|
||||
# define _ICONV_CONVERTER_JIS_X0201
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_JIS_X0212_1990
|
||||
# define ICONV_CONVERTER_JIS_X0212_1990
|
||||
# ifndef _ICONV_CONVERTER_JIS_X0212_1990
|
||||
# define _ICONV_CONVERTER_JIS_X0212_1990
|
||||
# endif
|
||||
#endif /* #ifdef ICONV_CONVERTER_EUC_JP */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_EUC_JP */
|
||||
|
||||
/*
|
||||
* EUC-KR requires us_ascii, ksx1001
|
||||
*/
|
||||
#ifdef ICONV_CONVERTER_EUC_KR
|
||||
# ifndef ICONV_CONVERTER_US_ASCII
|
||||
# define ICONV_CONVERTER_US_ASCII
|
||||
#ifdef _ICONV_CONVERTER_EUC_KR
|
||||
# ifndef _ICONV_CONVERTER_US_ASCII
|
||||
# define _ICONV_CONVERTER_US_ASCII
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_KSX_1001
|
||||
# define ICONV_CONVERTER_KSX_1001
|
||||
# ifndef _ICONV_CONVERTER_KSX_1001
|
||||
# define _ICONV_CONVERTER_KSX_1001
|
||||
# endif
|
||||
#endif /* #ifdef ICONV_CONVERTER_EUC_KR */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_EUC_KR */
|
||||
|
||||
/*
|
||||
* EUC-TW requires us_ascii, cns11643_plane1, cns11643_plane2, cns11643_plane14
|
||||
*/
|
||||
#ifdef ICONV_CONVERTER_EUC_TW
|
||||
# ifndef ICONV_CONVERTER_US_ASCII
|
||||
# define ICONV_CONVERTER_US_ASCII
|
||||
#ifdef _ICONV_CONVERTER_EUC_TW
|
||||
# ifndef _ICONV_CONVERTER_US_ASCII
|
||||
# define _ICONV_CONVERTER_US_ASCII
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_CNS11643_PLANE1
|
||||
# define ICONV_CONVERTER_CNS11643_PLANE1
|
||||
# ifndef _ICONV_CONVERTER_CNS11643_PLANE1
|
||||
# define _ICONV_CONVERTER_CNS11643_PLANE1
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_CNS11643_PLANE2
|
||||
# define ICONV_CONVERTER_CNS11643_PLANE2
|
||||
# ifndef _ICONV_CONVERTER_CNS11643_PLANE2
|
||||
# define _ICONV_CONVERTER_CNS11643_PLANE2
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_CNS11643_PLANE14
|
||||
# define ICONV_CONVERTER_CNS11643_PLANE14
|
||||
# ifndef _ICONV_CONVERTER_CNS11643_PLANE14
|
||||
# define _ICONV_CONVERTER_CNS11643_PLANE14
|
||||
# endif
|
||||
#endif /* #ifdef ICONV_CONVERTER_EUC_TW */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_EUC_TW */
|
||||
|
||||
/*
|
||||
* GB2380 CES requires us_ascii, gb-2312-80 CCS
|
||||
*/
|
||||
#ifdef ICONV_CONVERTER_GB2312
|
||||
# ifndef ICONV_CONVERTER_US_ASCII
|
||||
# define ICONV_CONVERTER_US_ASCII
|
||||
#ifdef _ICONV_CONVERTER_GB2312
|
||||
# ifndef _ICONV_CONVERTER_US_ASCII
|
||||
# define _ICONV_CONVERTER_US_ASCII
|
||||
# endif
|
||||
# ifndef ICONV_CONVERTER_GB_2312_80
|
||||
# define ICONV_CONVERTER_GB_2312_80
|
||||
# ifndef _ICONV_CONVERTER_GB_2312_80
|
||||
# define _ICONV_CONVERTER_GB_2312_80
|
||||
# endif
|
||||
#endif /* #ifdef ICONV_CONVERTER_GB2312 */
|
||||
#endif /* #ifdef _ICONV_CONVERTER_GB2312 */
|
||||
|
||||
#endif /* #ifndef __ICONV_DEPS_H__ */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -25,10 +25,8 @@
|
||||
*
|
||||
* iconv (Charset Conversion Library) v2.0
|
||||
*/
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#ifndef _LOCAL_ENDIAN_H_
|
||||
#define _LOCAL_ENDIAN_H_
|
||||
#ifndef __LOCAL_ENDIAN_H__
|
||||
#define __LOCAL_ENDIAN_H__
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
@ -54,7 +52,5 @@
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* #ifndef _LOCAL_ENDIAN_H_ */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
#endif /* #ifndef __LOCAL_ENDIAN_H__ */
|
||||
|
||||
|
@ -142,9 +142,6 @@ by the Single Unix specification.
|
||||
No supporting OS subroutine calls are required.
|
||||
*/
|
||||
|
||||
#ifdef ENABLE_ICONV
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <reent.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
@ -184,7 +181,7 @@ _DEFUN(_iconv_open_r, (rptr, to, from),
|
||||
_CONST char *to _AND
|
||||
_CONST char *from)
|
||||
{
|
||||
iconv_converter *ic;
|
||||
iconv_converter_t *ic;
|
||||
_CONST char *nlspath;
|
||||
|
||||
if(!to || !from)
|
||||
@ -204,8 +201,8 @@ _DEFUN(_iconv_open_r, (rptr, to, from),
|
||||
return (iconv_t)(-1);
|
||||
}
|
||||
|
||||
ic = strcmp(from, to) ? iconv_unicode_conv_init(rptr, to, from)
|
||||
: iconv_null_conv_init(rptr, to, from);
|
||||
ic = strcmp(from, to) ? _iconv_unicode_conv_init(rptr, to, from)
|
||||
: _iconv_null_conv_init(rptr, to, from);
|
||||
_free_r(rptr, (_VOID_PTR)to);
|
||||
_free_r(rptr, (_VOID_PTR)from);
|
||||
return ic ? (iconv_t)(ic) : (iconv_t)(-1);
|
||||
@ -229,7 +226,7 @@ _DEFUN(_iconv_r, (rptr, cd, inbuf, inbytesleft, outbuf, outbytesleft),
|
||||
__errno_r(rptr) = E2BIG;
|
||||
return (size_t)(-1);
|
||||
}
|
||||
return ((iconv_converter *)cd)->convert(rptr, (iconv_converter *)cd + 1,
|
||||
return ((iconv_converter_t *)cd)->convert(rptr, (iconv_converter_t *)cd + 1,
|
||||
(_CONST unsigned char**)inbuf,
|
||||
inbytesleft,
|
||||
(unsigned char**)outbuf,
|
||||
@ -247,11 +244,9 @@ _DEFUN(_iconv_close_r, (rptr, cd),
|
||||
__errno_r(rptr) = EBADF;
|
||||
return -1;
|
||||
}
|
||||
res = ((iconv_converter *)cd)->close(rptr, (iconv_converter *)cd + 1);
|
||||
res = ((iconv_converter_t *)cd)->close(rptr, (iconv_converter_t *)cd + 1);
|
||||
_free_r(rptr, (_VOID_PTR)cd);
|
||||
return res ? -1 : 0;
|
||||
}
|
||||
#endif /* #ifndef _REENT_ONLY */
|
||||
|
||||
#endif /* #ifdef ENABLE_ICONV */
|
||||
|
||||
|
@ -23,9 +23,6 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#if defined(ENABLE_ICONV)
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
@ -34,7 +31,7 @@
|
||||
#include <assert.h>
|
||||
#include "local.h"
|
||||
|
||||
#ifdef _POSIX_MAPPED_FILES /* Should be defined in unistd.h if mmap()/munmap */
|
||||
#ifdef _POSIX_MAPPED_FILES /* Should be defined in unistd.h if mmap/munmap */
|
||||
#include <sys/mman.h> /* are supported */
|
||||
#endif
|
||||
|
||||
@ -121,5 +118,3 @@ _DEFUN(_iconv_unload_file, (rptr, desc),
|
||||
#endif /* #ifdef _POSIX_MAPPED_FILES */
|
||||
}
|
||||
|
||||
#endif /* #if defined(ENABLE_ICONV) */
|
||||
|
||||
|
@ -58,11 +58,11 @@ _EXFUN(_iconv_unload_file, (struct _reent *, _iconv_fd_t *));
|
||||
typedef struct {
|
||||
_CONST char *key;
|
||||
_CONST _VOID_PTR value;
|
||||
} iconv_builtin_table;
|
||||
} iconv_builtin_table_t;
|
||||
|
||||
extern _CONST iconv_builtin_table iconv_builtin_ccs[];
|
||||
extern _CONST iconv_builtin_table iconv_builtin_ces[];
|
||||
extern _CONST char iconv_builtin_aliases[];
|
||||
extern _CONST iconv_builtin_table_t _iconv_builtin_ccs[];
|
||||
extern _CONST iconv_builtin_table_t _iconv_builtin_ces[];
|
||||
extern _CONST char _iconv_builtin_aliases[];
|
||||
|
||||
/* Table-driven coded character set (CCS) definitions. */
|
||||
struct iconv_ccs;
|
||||
@ -87,8 +87,8 @@ struct iconv_ccs {
|
||||
|
||||
/* CCS initialisation function */
|
||||
int
|
||||
_EXFUN(iconv_ccs_init, (struct _reent *rptr, struct iconv_ccs *ccs,
|
||||
_CONST char *name));
|
||||
_EXFUN(_iconv_ccs_init, (struct _reent *rptr, struct iconv_ccs *ccs,
|
||||
_CONST char *name));
|
||||
|
||||
/* CCS conversion macros */
|
||||
#define ICONV_CCS_CONVERT_FROM_UCS(ccs, ch) \
|
||||
@ -119,7 +119,7 @@ _EXFUN(iconv_ces_convert_from_ucs_t, (struct iconv_ces *data, ucs_t in,
|
||||
typedef ucs_t
|
||||
_EXFUN(iconv_ces_convert_to_ucs_t, (struct iconv_ces *data,
|
||||
_CONST unsigned char **inbuf,
|
||||
size_t *inbytesleft));
|
||||
size_t *inbytesleft));
|
||||
|
||||
/* CES descriptor structure - CES class data */
|
||||
struct iconv_ces_desc {
|
||||
@ -132,7 +132,7 @@ struct iconv_ces_desc {
|
||||
};
|
||||
|
||||
/* explicit CES class for table (CCS) driven charsets */
|
||||
extern _CONST struct iconv_ces_desc iconv_ces_table_driven;
|
||||
extern _CONST struct iconv_ces_desc _iconv_ces_table_driven;
|
||||
|
||||
/* CES structure - CES instance data */
|
||||
struct iconv_ces {
|
||||
@ -144,7 +144,7 @@ struct iconv_ces {
|
||||
|
||||
/* Basic CES functions and macros */
|
||||
extern int
|
||||
_EXFUN(iconv_ces_init, (struct _reent *rptr, struct iconv_ces *ces,
|
||||
_EXFUN(_iconv_ces_init, (struct _reent *rptr, struct iconv_ces *ces,
|
||||
_CONST char *name));
|
||||
|
||||
#define ICONV_CES_CLOSE(rptr, ces) ((ces)->close(rptr, ces))
|
||||
@ -161,37 +161,37 @@ _EXFUN(iconv_ces_init_int_t, (struct _reent *rptr, _VOID_PTR* /* void ** */,
|
||||
|
||||
/* CES subclass macros (for EUC and ISO-2022) */
|
||||
#define ICONV_CES_DRIVER_DECL(name) \
|
||||
iconv_ces_init_int_t iconv_##name##_init; \
|
||||
iconv_ces_close_t iconv_##name##_close; \
|
||||
iconv_ces_reset_t iconv_##name##_reset; \
|
||||
iconv_ces_convert_from_ucs_t iconv_##name##_convert_from_ucs; \
|
||||
iconv_ces_convert_to_ucs_t iconv_##name##_convert_to_ucs; \
|
||||
iconv_ces_init_int_t _iconv_##name##_init; \
|
||||
iconv_ces_close_t _iconv_##name##_close; \
|
||||
iconv_ces_reset_t _iconv_##name##_reset; \
|
||||
iconv_ces_convert_from_ucs_t _iconv_##name##_convert_from_ucs; \
|
||||
iconv_ces_convert_to_ucs_t _iconv_##name##_convert_to_ucs; \
|
||||
|
||||
/* CES functions and macros for stateless encodings */
|
||||
iconv_ces_init_t iconv_ces_init_null;
|
||||
iconv_ces_close_t iconv_ces_close_null;
|
||||
iconv_ces_reset_t iconv_ces_reset_null;
|
||||
iconv_ces_init_t _iconv_ces_init_null;
|
||||
iconv_ces_close_t _iconv_ces_close_null;
|
||||
iconv_ces_reset_t _iconv_ces_reset_null;
|
||||
|
||||
#define ICONV_CES_STATELESS_MODULE_DECL(name) \
|
||||
_CONST struct iconv_ces_desc iconv_ces_##name = { \
|
||||
iconv_ces_init_null, \
|
||||
iconv_ces_close_null, \
|
||||
iconv_ces_reset_null, \
|
||||
_CONST struct iconv_ces_desc _iconv_ces_module_##name = { \
|
||||
_iconv_ces_init_null, \
|
||||
_iconv_ces_close_null, \
|
||||
_iconv_ces_reset_null, \
|
||||
convert_from_ucs, \
|
||||
convert_to_ucs, \
|
||||
NULL \
|
||||
}
|
||||
|
||||
/* CES functions and macros for stateful (integer state) encodings */
|
||||
iconv_ces_init_t iconv_ces_init_state;
|
||||
iconv_ces_close_t iconv_ces_close_state;
|
||||
iconv_ces_reset_t iconv_ces_reset_state;
|
||||
iconv_ces_init_t _iconv_ces_init_state;
|
||||
iconv_ces_close_t _iconv_ces_close_state;
|
||||
iconv_ces_reset_t _iconv_ces_reset_state;
|
||||
|
||||
#define ICONV_CES_STATEFUL_MODULE_DECL(name) \
|
||||
_CONST struct iconv_ces_desc iconv_ces_##name = { \
|
||||
iconv_ces_init_state, \
|
||||
iconv_ces_close_state, \
|
||||
iconv_ces_reset_state, \
|
||||
_CONST struct iconv_ces_desc _iconv_ces_module_##name = { \
|
||||
_iconv_ces_init_state, \
|
||||
_iconv_ces_close_state, \
|
||||
_iconv_ces_reset_state, \
|
||||
convert_from_ucs, \
|
||||
convert_to_ucs, \
|
||||
NULL \
|
||||
@ -203,17 +203,17 @@ iconv_ces_reset_t iconv_ces_reset_state;
|
||||
module_init(struct _reent *rptr, _VOID_PTR *data, /* void ** */ \
|
||||
_CONST char *cs_name, _CONST _VOID_PTR desc_data) \
|
||||
{ \
|
||||
return iconv_##type##_init(rptr, data, desc_data, \
|
||||
sizeof(ccsattr) / \
|
||||
sizeof(iconv_ces_##type##_ccs)); \
|
||||
return _iconv_##type##_init(rptr, data, desc_data, \
|
||||
sizeof(ccsattr) / \
|
||||
sizeof(iconv_ces_##type##_ccs_t)); \
|
||||
} \
|
||||
\
|
||||
_CONST struct iconv_ces_desc iconv_ces_##name = { \
|
||||
_CONST struct iconv_ces_desc _iconv_ces_module_##name = { \
|
||||
module_init, \
|
||||
iconv_##type##_close, \
|
||||
iconv_##type##_reset, \
|
||||
iconv_##type##_convert_from_ucs, \
|
||||
iconv_##type##_convert_to_ucs, \
|
||||
_iconv_##type##_close, \
|
||||
_iconv_##type##_reset, \
|
||||
_iconv_##type##_convert_from_ucs, \
|
||||
_iconv_##type##_convert_to_ucs, \
|
||||
&ccsattr \
|
||||
}
|
||||
|
||||
@ -222,10 +222,10 @@ typedef struct {
|
||||
_CONST char *name;
|
||||
_CONST char *prefix;
|
||||
size_t prefixlen;
|
||||
} iconv_ces_euc_ccs;
|
||||
} iconv_ces_euc_ccs_t;
|
||||
|
||||
ICONV_CES_DRIVER_DECL(euc);
|
||||
#define iconv_euc_reset iconv_ces_reset_null
|
||||
#define _iconv_euc_reset _iconv_ces_reset_null
|
||||
|
||||
/* ISO-2022 character encoding schemes and functions. */
|
||||
enum {ICONV_SHIFT_SI = 0, ICONV_SHIFT_SO, ICONV_SHIFT_SS2, ICONV_SHIFT_SS3};
|
||||
@ -235,7 +235,7 @@ typedef struct {
|
||||
_CONST char *designator;
|
||||
size_t designatorlen;
|
||||
int shift;
|
||||
} iconv_ces_iso2022_ccs;
|
||||
} iconv_ces_iso2022_ccs_t;
|
||||
|
||||
ICONV_CES_DRIVER_DECL(iso2022);
|
||||
|
||||
@ -252,24 +252,22 @@ _EXFUN(iconv_close_t, (struct _reent *rptr, _VOID_PTR));
|
||||
typedef struct {
|
||||
iconv_conv_t *convert;
|
||||
iconv_close_t *close;
|
||||
}iconv_converter;
|
||||
|
||||
}iconv_converter_t;
|
||||
|
||||
typedef struct {
|
||||
struct iconv_ces from;
|
||||
struct iconv_ces to;
|
||||
ucs_t missing;
|
||||
} unicode_converter;
|
||||
|
||||
} unicode_converter_t;
|
||||
|
||||
/* Converter initialisers */
|
||||
iconv_converter *
|
||||
_EXFUN(iconv_unicode_conv_init, (struct _reent *rptr, _CONST char *to,
|
||||
_CONST char *from));
|
||||
iconv_converter_t *
|
||||
_EXFUN(_iconv_unicode_conv_init, (struct _reent *rptr, _CONST char *to,
|
||||
_CONST char *from));
|
||||
|
||||
iconv_converter *
|
||||
_EXFUN(iconv_null_conv_init, (struct _reent *rptr, _CONST char *to,
|
||||
_CONST char *from));
|
||||
iconv_converter_t *
|
||||
_EXFUN(_iconv_null_conv_init, (struct _reent *rptr, _CONST char *to,
|
||||
_CONST char *from));
|
||||
|
||||
#endif /* __LOCAL_H__ */
|
||||
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
@ -92,7 +92,6 @@ LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
NEWLIB_ICONV_CFLAGS = @NEWLIB_ICONV_CFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user