Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/iconv/lib')
-rw-r--r--newlib/libc/iconv/lib/Makefile.am49
-rw-r--r--newlib/libc/iconv/lib/Makefile.in533
-rw-r--r--newlib/libc/iconv/lib/aliasesbi.c213
-rw-r--r--newlib/libc/iconv/lib/aliasesi.c212
-rw-r--r--newlib/libc/iconv/lib/conv.h221
-rw-r--r--newlib/libc/iconv/lib/encnames.h63
-rw-r--r--newlib/libc/iconv/lib/encoding.deps441
-rw-r--r--newlib/libc/iconv/lib/endian.h73
-rw-r--r--newlib/libc/iconv/lib/iconv.c348
-rw-r--r--newlib/libc/iconv/lib/iconvnls.c362
-rw-r--r--newlib/libc/iconv/lib/iconvnls.h37
-rw-r--r--newlib/libc/iconv/lib/local.h65
-rw-r--r--newlib/libc/iconv/lib/nullconv.c143
-rw-r--r--newlib/libc/iconv/lib/ucsconv.c356
-rw-r--r--newlib/libc/iconv/lib/ucsconv.h327
15 files changed, 0 insertions, 3443 deletions
diff --git a/newlib/libc/iconv/lib/Makefile.am b/newlib/libc/iconv/lib/Makefile.am
deleted file mode 100644
index d8fd52838..000000000
--- a/newlib/libc/iconv/lib/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-## Process this file with automake to generate Makefile.in
-
-AUTOMAKE_OPTIONS = cygnus
-
-INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
-
-GENERAL_SOURCES = \
- aliasesi.c \
- ucsconv.c \
- nullconv.c \
- iconv.c \
- aliasesbi.c \
- iconvnls.c
-
-
-## The following interfaces are EL/IX level 2
-if ELIX_LEVEL_1
-ELIX_SOURCES =
-else
-ELIX_SOURCES = \
- aliasesi.c \
- ucsconv.c \
- nullconv.c \
- iconv.c \
- aliasesbi.c \
- iconvnls.c
-endif
-
-noinst_LIBRARIES = lib.a
-lib_a_SOURCES = $(GENERAL_SOURCES) $(ELIX_SOURCES)
-lib_a_CFLAGS = $(AM_CFLAGS)
-noinst_DATA =
-
-include $(srcdir)/../../../Makefile.shared
-
-CHEWOUT_FILES = iconv.def
-
-SUFFIXES = .def
-
-CHEW = ../../../doc/makedoc -f $(srcdir)/../../../doc/doc.str
-
-.c.def:
- $(CHEW) < $< > $*.def 2> $*.ref
- touch stmp-def
-
-doc: $(CHEWOUT_FILES)
-
-CLEANFILES = $(CHEWOUT_FILES) *.ref
-
diff --git a/newlib/libc/iconv/lib/Makefile.in b/newlib/libc/iconv/lib/Makefile.in
deleted file mode 100644
index 43ca5fcf5..000000000
--- a/newlib/libc/iconv/lib/Makefile.in
+++ /dev/null
@@ -1,533 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(srcdir)/../../../Makefile.shared $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am
-subdir = iconv/lib
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
- $(top_srcdir)/../../ltoptions.m4 \
- $(top_srcdir)/../../ltsugar.m4 \
- $(top_srcdir)/../../ltversion.m4 \
- $(top_srcdir)/../../lt~obsolete.m4 \
- $(top_srcdir)/../acinclude.m4 $(top_srcdir)/../confsubdir.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-lib_a_AR = $(AR) $(ARFLAGS)
-lib_a_LIBADD =
-am__objects_1 = lib_a-aliasesi.$(OBJEXT) lib_a-ucsconv.$(OBJEXT) \
- lib_a-nullconv.$(OBJEXT) lib_a-iconv.$(OBJEXT) \
- lib_a-aliasesbi.$(OBJEXT) lib_a-iconvnls.$(OBJEXT)
-@ELIX_LEVEL_1_FALSE@am__objects_2 = lib_a-aliasesi.$(OBJEXT) \
-@ELIX_LEVEL_1_FALSE@ lib_a-ucsconv.$(OBJEXT) \
-@ELIX_LEVEL_1_FALSE@ lib_a-nullconv.$(OBJEXT) \
-@ELIX_LEVEL_1_FALSE@ lib_a-iconv.$(OBJEXT) \
-@ELIX_LEVEL_1_FALSE@ lib_a-aliasesbi.$(OBJEXT) \
-@ELIX_LEVEL_1_FALSE@ lib_a-iconvnls.$(OBJEXT)
-am_lib_a_OBJECTS = $(am__objects_1) $(am__objects_2)
-lib_a_OBJECTS = $(am_lib_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir)
-depcomp =
-am__depfiles_maybe =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(lib_a_SOURCES)
-DATA = $(noinst_DATA)
-ETAGS = etags
-CTAGS = ctags
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CRT0 = @CRT0@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELIX_LEVEL_0_FALSE = @ELIX_LEVEL_0_FALSE@
-ELIX_LEVEL_0_TRUE = @ELIX_LEVEL_0_TRUE@
-ELIX_LEVEL_1_FALSE = @ELIX_LEVEL_1_FALSE@
-ELIX_LEVEL_1_TRUE = @ELIX_LEVEL_1_TRUE@
-ELIX_LEVEL_2_FALSE = @ELIX_LEVEL_2_FALSE@
-ELIX_LEVEL_2_TRUE = @ELIX_LEVEL_2_TRUE@
-ELIX_LEVEL_3_FALSE = @ELIX_LEVEL_3_FALSE@
-ELIX_LEVEL_3_TRUE = @ELIX_LEVEL_3_TRUE@
-ELIX_LEVEL_4_FALSE = @ELIX_LEVEL_4_FALSE@
-ELIX_LEVEL_4_TRUE = @ELIX_LEVEL_4_TRUE@
-ENABLE_NEWLIB_ICONV_FALSE = @ENABLE_NEWLIB_ICONV_FALSE@
-ENABLE_NEWLIB_ICONV_TRUE = @ENABLE_NEWLIB_ICONV_TRUE@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_POSIX_DIR_FALSE = @HAVE_POSIX_DIR_FALSE@
-HAVE_POSIX_DIR_TRUE = @HAVE_POSIX_DIR_TRUE@
-HAVE_SIGNAL_DIR_FALSE = @HAVE_SIGNAL_DIR_FALSE@
-HAVE_SIGNAL_DIR_TRUE = @HAVE_SIGNAL_DIR_TRUE@
-HAVE_STDIO64_DIR_FALSE = @HAVE_STDIO64_DIR_FALSE@
-HAVE_STDIO64_DIR_TRUE = @HAVE_STDIO64_DIR_TRUE@
-HAVE_STDIO_DIR_FALSE = @HAVE_STDIO_DIR_FALSE@
-HAVE_STDIO_DIR_TRUE = @HAVE_STDIO_DIR_TRUE@
-HAVE_SYSCALL_DIR_FALSE = @HAVE_SYSCALL_DIR_FALSE@
-HAVE_SYSCALL_DIR_TRUE = @HAVE_SYSCALL_DIR_TRUE@
-HAVE_UNIX_DIR_FALSE = @HAVE_UNIX_DIR_FALSE@
-HAVE_UNIX_DIR_TRUE = @HAVE_UNIX_DIR_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBC_EXTRA_DEF = @LIBC_EXTRA_DEF@
-LIBC_EXTRA_LIB = @LIBC_EXTRA_LIB@
-LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
-LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
-LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
-LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
-LIBC_STDIO64_DEF = @LIBC_STDIO64_DEF@
-LIBC_STDIO64_LIB = @LIBC_STDIO64_LIB@
-LIBC_STDIO_DEF = @LIBC_STDIO_DEF@
-LIBC_STDIO_LIB = @LIBC_STDIO_LIB@
-LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
-LIBC_SYS_LIB = @LIBC_SYS_LIB@
-LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MAY_SUPPLY_SYSCALLS_FALSE = @MAY_SUPPLY_SYSCALLS_FALSE@
-MAY_SUPPLY_SYSCALLS_TRUE = @MAY_SUPPLY_SYSCALLS_TRUE@
-NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-READELF = @READELF@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@
-USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_LIPO = @ac_ct_LIPO@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_OTOOL = @ac_ct_OTOOL@
-ac_ct_OTOOL64 = @ac_ct_OTOOL64@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_READELF = @ac_ct_READELF@
-ac_ct_STRIP = @ac_ct_STRIP@
-aext = @aext@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-extra_dir = @extra_dir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libm_machine_dir = @libm_machine_dir@
-localstatedir = @localstatedir@
-lpfx = @lpfx@
-lt_ECHO = @lt_ECHO@
-machine_dir = @machine_dir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-newlib_basedir = @newlib_basedir@
-oext = @oext@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-subdirs = @subdirs@
-sys_dir = @sys_dir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-AUTOMAKE_OPTIONS = cygnus
-INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
-GENERAL_SOURCES = \
- aliasesi.c \
- ucsconv.c \
- nullconv.c \
- iconv.c \
- aliasesbi.c \
- iconvnls.c
-
-@ELIX_LEVEL_1_FALSE@ELIX_SOURCES = \
-@ELIX_LEVEL_1_FALSE@ aliasesi.c \
-@ELIX_LEVEL_1_FALSE@ ucsconv.c \
-@ELIX_LEVEL_1_FALSE@ nullconv.c \
-@ELIX_LEVEL_1_FALSE@ iconv.c \
-@ELIX_LEVEL_1_FALSE@ aliasesbi.c \
-@ELIX_LEVEL_1_FALSE@ iconvnls.c
-
-@ELIX_LEVEL_1_TRUE@ELIX_SOURCES =
-noinst_LIBRARIES = lib.a
-lib_a_SOURCES = $(GENERAL_SOURCES) $(ELIX_SOURCES)
-lib_a_CFLAGS = $(AM_CFLAGS)
-noinst_DATA =
-CHEWOUT_FILES = iconv.def
-SUFFIXES = .def
-CHEW = ../../../doc/makedoc -f $(srcdir)/../../../doc/doc.str
-CLEANFILES = $(CHEWOUT_FILES) *.ref
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .def .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../../Makefile.shared $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus iconv/lib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --cygnus iconv/lib/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
- -rm -f lib.a
- $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
- $(RANLIB) lib.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-.c.o:
- $(COMPILE) -c $<
-
-.c.obj:
- $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- $(LTCOMPILE) -c -o $@ $<
-
-lib_a-aliasesi.o: aliasesi.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aliasesi.o `test -f 'aliasesi.c' || echo '$(srcdir)/'`aliasesi.c
-
-lib_a-aliasesi.obj: aliasesi.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aliasesi.obj `if test -f 'aliasesi.c'; then $(CYGPATH_W) 'aliasesi.c'; else $(CYGPATH_W) '$(srcdir)/aliasesi.c'; fi`
-
-lib_a-ucsconv.o: ucsconv.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ucsconv.o `test -f 'ucsconv.c' || echo '$(srcdir)/'`ucsconv.c
-
-lib_a-ucsconv.obj: ucsconv.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ucsconv.obj `if test -f 'ucsconv.c'; then $(CYGPATH_W) 'ucsconv.c'; else $(CYGPATH_W) '$(srcdir)/ucsconv.c'; fi`
-
-lib_a-nullconv.o: nullconv.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-nullconv.o `test -f 'nullconv.c' || echo '$(srcdir)/'`nullconv.c
-
-lib_a-nullconv.obj: nullconv.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-nullconv.obj `if test -f 'nullconv.c'; then $(CYGPATH_W) 'nullconv.c'; else $(CYGPATH_W) '$(srcdir)/nullconv.c'; fi`
-
-lib_a-iconv.o: iconv.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-iconv.o `test -f 'iconv.c' || echo '$(srcdir)/'`iconv.c
-
-lib_a-iconv.obj: iconv.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-iconv.obj `if test -f 'iconv.c'; then $(CYGPATH_W) 'iconv.c'; else $(CYGPATH_W) '$(srcdir)/iconv.c'; fi`
-
-lib_a-aliasesbi.o: aliasesbi.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aliasesbi.o `test -f 'aliasesbi.c' || echo '$(srcdir)/'`aliasesbi.c
-
-lib_a-aliasesbi.obj: aliasesbi.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-aliasesbi.obj `if test -f 'aliasesbi.c'; then $(CYGPATH_W) 'aliasesbi.c'; else $(CYGPATH_W) '$(srcdir)/aliasesbi.c'; fi`
-
-lib_a-iconvnls.o: iconvnls.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-iconvnls.o `test -f 'iconvnls.c' || echo '$(srcdir)/'`iconvnls.c
-
-lib_a-iconvnls.obj: iconvnls.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-iconvnls.obj `if test -f 'iconvnls.c'; then $(CYGPATH_W) 'iconvnls.c'; else $(CYGPATH_W) '$(srcdir)/iconvnls.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-check-am:
-check: check-am
-all-am: Makefile $(LIBRARIES) $(DATA)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-objectlist.awk.in: $(noinst_LTLIBRARIES)
- -rm -f objectlist.awk.in
- for i in `ls *.lo` ; \
- do \
- echo $$i `pwd`/$$i >> objectlist.awk.in ; \
- done
-
-.c.def:
- $(CHEW) < $< > $*.def 2> $*.ref
- touch stmp-def
-
-doc: $(CHEWOUT_FILES)
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/newlib/libc/iconv/lib/aliasesbi.c b/newlib/libc/iconv/lib/aliasesbi.c
deleted file mode 100644
index 36c434e16..000000000
--- a/newlib/libc/iconv/lib/aliasesbi.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * This file was automatically generated mkdeps.pl script. Don't edit.
- */
-
-#include <_ansi.h>
-#include "encnames.h"
-
-_CONST char *
-_iconv_aliases =
-{
-#if defined (_ICONV_FROM_ENCODING_BIG5) \
- || defined (_ICONV_TO_ENCODING_BIG5)
- ICONV_ENCODING_BIG5 " csbig5 big_five bigfive cn_big5 cp950\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_CP775) \
- || defined (_ICONV_TO_ENCODING_CP775)
- ICONV_ENCODING_CP775 " ibm775 cspc775baltic\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_CP850) \
- || defined (_ICONV_TO_ENCODING_CP850)
- ICONV_ENCODING_CP850 " ibm850 850 cspc850multilingual\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_CP852) \
- || defined (_ICONV_TO_ENCODING_CP852)
- ICONV_ENCODING_CP852 " ibm852 852 cspcp852\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_CP855) \
- || defined (_ICONV_TO_ENCODING_CP855)
- ICONV_ENCODING_CP855 " ibm855 855 csibm855\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_CP866) \
- || defined (_ICONV_TO_ENCODING_CP866)
- ICONV_ENCODING_CP866 " 866 IBM866 CSIBM866\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_EUC_JP) \
- || defined (_ICONV_TO_ENCODING_EUC_JP)
- ICONV_ENCODING_EUC_JP " eucjp\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_EUC_KR) \
- || defined (_ICONV_TO_ENCODING_EUC_KR)
- ICONV_ENCODING_EUC_KR " euckr\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_EUC_TW) \
- || defined (_ICONV_TO_ENCODING_EUC_TW)
- ICONV_ENCODING_EUC_TW " euctw\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_1) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_1)
- ICONV_ENCODING_ISO_8859_1 " iso8859_1 iso88591 iso_8859_1:1987 iso_ir_100 latin1 l1 ibm819 cp819 csisolatin1\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_10) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_10)
- ICONV_ENCODING_ISO_8859_10 " iso_8859_10:1992 iso_ir_157 iso885910 latin6 l6 csisolatin6 iso8859_10\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_11) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_11)
- ICONV_ENCODING_ISO_8859_11 " iso8859_11 iso885911\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_13) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_13)
- ICONV_ENCODING_ISO_8859_13 " iso_8859_13:1998 iso8859_13 iso885913\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_14) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_14)
- ICONV_ENCODING_ISO_8859_14 " iso_8859_14:1998 iso885914 iso8859_14\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_15) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_15)
- ICONV_ENCODING_ISO_8859_15 " iso885915 iso_8859_15:1998 iso8859_15 \n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_2) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_2)
- ICONV_ENCODING_ISO_8859_2 " iso8859_2 iso88592 iso_8859_2:1987 iso_ir_101 latin2 l2 csisolatin2\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_3) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_3)
- ICONV_ENCODING_ISO_8859_3 " iso_8859_3:1988 iso_ir_109 iso8859_3 latin3 l3 csisolatin3 iso88593\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_4) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_4)
- ICONV_ENCODING_ISO_8859_4 " iso8859_4 iso88594 iso_8859_4:1988 iso_ir_110 latin4 l4 csisolatin4\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_5) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_5)
- ICONV_ENCODING_ISO_8859_5 " iso8859_5 iso88595 iso_8859_5:1988 iso_ir_144 cyrillic csisolatincyrillic\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_6) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_6)
- ICONV_ENCODING_ISO_8859_6 " iso_8859_6:1987 iso_ir_127 iso8859_6 ecma_114 asmo_708 arabic csisolatinarabic iso88596\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_7) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_7)
- ICONV_ENCODING_ISO_8859_7 " iso_8859_7:1987 iso_ir_126 iso8859_7 elot_928 ecma_118 greek greek8 csisolatingreek iso88597\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_8) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_8)
- ICONV_ENCODING_ISO_8859_8 " iso_8859_8:1988 iso_ir_138 iso8859_8 hebrew csisolatinhebrew iso88598\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_8859_9) \
- || defined (_ICONV_TO_ENCODING_ISO_8859_9)
- ICONV_ENCODING_ISO_8859_9 " iso_8859_9:1989 iso_ir_148 iso8859_9 latin5 l5 csisolatin5 iso88599\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_ISO_IR_111) \
- || defined (_ICONV_TO_ENCODING_ISO_IR_111)
- ICONV_ENCODING_ISO_IR_111 " ecma_cyrillic koi8_e koi8e csiso111ecmacyrillic\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_KOI8_R) \
- || defined (_ICONV_TO_ENCODING_KOI8_R)
- ICONV_ENCODING_KOI8_R " cskoi8r koi8r koi8\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_KOI8_RU) \
- || defined (_ICONV_TO_ENCODING_KOI8_RU)
- ICONV_ENCODING_KOI8_RU " koi8ru\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_KOI8_U) \
- || defined (_ICONV_TO_ENCODING_KOI8_U)
- ICONV_ENCODING_KOI8_U " koi8u\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_KOI8_UNI) \
- || defined (_ICONV_TO_ENCODING_KOI8_UNI)
- ICONV_ENCODING_KOI8_UNI " koi8uni\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_2) \
- || defined (_ICONV_TO_ENCODING_UCS_2)
- ICONV_ENCODING_UCS_2 " ucs2 iso_10646_ucs_2 iso10646_ucs_2 iso_10646_ucs2 iso10646_ucs2 iso10646ucs2 csUnicode\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_2_INTERNAL) \
- || defined (_ICONV_TO_ENCODING_UCS_2_INTERNAL)
- ICONV_ENCODING_UCS_2_INTERNAL " ucs2_internal ucs_2internal ucs2internal\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_2BE) \
- || defined (_ICONV_TO_ENCODING_UCS_2BE)
- ICONV_ENCODING_UCS_2BE " ucs2be\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_2LE) \
- || defined (_ICONV_TO_ENCODING_UCS_2LE)
- ICONV_ENCODING_UCS_2LE " ucs2le\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_4) \
- || defined (_ICONV_TO_ENCODING_UCS_4)
- ICONV_ENCODING_UCS_4 " ucs4 iso_10646_ucs_4 iso10646_ucs_4 iso_10646_ucs4 iso10646_ucs4 iso10646ucs4\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_4_INTERNAL) \
- || defined (_ICONV_TO_ENCODING_UCS_4_INTERNAL)
- ICONV_ENCODING_UCS_4_INTERNAL " ucs4_internal ucs_4internal ucs4internal\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_4BE) \
- || defined (_ICONV_TO_ENCODING_UCS_4BE)
- ICONV_ENCODING_UCS_4BE " ucs4be\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UCS_4LE) \
- || defined (_ICONV_TO_ENCODING_UCS_4LE)
- ICONV_ENCODING_UCS_4LE " ucs4le\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_US_ASCII) \
- || defined (_ICONV_TO_ENCODING_US_ASCII)
- ICONV_ENCODING_US_ASCII " ansi_x3.4_1968 ansi_x3.4_1986 iso_646.irv:1991 ascii iso646_us us ibm367 cp367 csascii \n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UTF_16) \
- || defined (_ICONV_TO_ENCODING_UTF_16)
- ICONV_ENCODING_UTF_16 " utf16\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UTF_16BE) \
- || defined (_ICONV_TO_ENCODING_UTF_16BE)
- ICONV_ENCODING_UTF_16BE " utf16be\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UTF_16LE) \
- || defined (_ICONV_TO_ENCODING_UTF_16LE)
- ICONV_ENCODING_UTF_16LE " utf16le\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_UTF_8) \
- || defined (_ICONV_TO_ENCODING_UTF_8)
- ICONV_ENCODING_UTF_8 " utf8\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1250) \
- || defined (_ICONV_TO_ENCODING_WIN_1250)
- ICONV_ENCODING_WIN_1250 " cp1250\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1251) \
- || defined (_ICONV_TO_ENCODING_WIN_1251)
- ICONV_ENCODING_WIN_1251 " cp1251\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1252) \
- || defined (_ICONV_TO_ENCODING_WIN_1252)
- ICONV_ENCODING_WIN_1252 " cp1252\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1253) \
- || defined (_ICONV_TO_ENCODING_WIN_1253)
- ICONV_ENCODING_WIN_1253 " cp1253\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1254) \
- || defined (_ICONV_TO_ENCODING_WIN_1254)
- ICONV_ENCODING_WIN_1254 " cp1254\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1255) \
- || defined (_ICONV_TO_ENCODING_WIN_1255)
- ICONV_ENCODING_WIN_1255 " cp1255\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1256) \
- || defined (_ICONV_TO_ENCODING_WIN_1256)
- ICONV_ENCODING_WIN_1256 " cp1256\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1257) \
- || defined (_ICONV_TO_ENCODING_WIN_1257)
- ICONV_ENCODING_WIN_1257 " cp1257\n"
-#endif
-#if defined (_ICONV_FROM_ENCODING_WIN_1258) \
- || defined (_ICONV_TO_ENCODING_WIN_1258)
- ICONV_ENCODING_WIN_1258 " cp1258\n"
-#endif
- ""
-};
-
diff --git a/newlib/libc/iconv/lib/aliasesi.c b/newlib/libc/iconv/lib/aliasesi.c
deleted file mode 100644
index f94ac8fb9..000000000
--- a/newlib/libc/iconv/lib/aliasesi.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <_ansi.h>
-#include <reent.h>
-#include <newlib.h>
-#include <sys/types.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <ctype.h>
-#include <sys/iconvnls.h>
-#include "local.h"
-
-/*
- * strnstr - locate a substring in a fixed-size string.
- *
- * PARAMETERS:
- * _CONST char *haystack - the string in which to search.
- * _CONST char *needle - the string which to search.
- * int length - the maximum 'haystack' string length.
- *
- * DESCRIPTION:
- * The strstr() function finds the first occurrence of the substring
- * 'needle' in the string 'haystack'. At most 'length' bytes are searched.
- *
- * RETURN:
- * Returns a pointer to the beginning of substring, or NULL if substring
- * was not found.
- */
-static char *
-_DEFUN(strnstr, (haystack, needle, length),
- _CONST char *haystack _AND
- _CONST char *needle _AND
- int length)
-{
- _CONST char *max = haystack + length;
-
- if (*haystack == '\0')
- return *needle == '\0' ? (char *)haystack : (char *)NULL;
-
- while (haystack < max)
- {
- int i = 0;
- while (1)
- {
- if (needle[i] == '\0')
- return (char *)haystack;
- if (needle[i] != haystack[i])
- break;
- i += 1;
- }
- haystack += 1;
- }
- return (char *)NULL;
-}
-
-/*
- * canonical_form - canonize 'str'.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process.
- * _CONST char *str - string to canonize.
- *
- * DESCRIPTION:
- * Converts all letters to small and substitute all '-' characters by '_'
- * characters.
- *
- * RETURN:
- * Returns canonical form of 'str' if success, NULL if failure.
- */
-static _CONST char *
-_DEFUN(canonical_form, (rptr, str),
- struct _reent *rptr _AND
- _CONST char *str)
-{
- char *p, *p1;
-
- if (str == NULL || (p = p1 = _strdup_r (rptr, str)) == NULL)
- return (_CONST char *)NULL;
-
- for (; *str; str++, p++)
- {
- if (*str == '-')
- *p = '_';
- else
- *p = tolower (*str);
- }
-
- return (_CONST char *)p1;
-}
-
-/*
- * find_alias - find encoding name name by it's alias.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process.
- * _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 encoding names and aliases.
- * Names go first, e.g.:
- *
- * name1 alias11 alias12 alias1N
- * name2 alias21 alias22 alias2N
- * nameM aliasM1 aliasM2 aliasMN
- *
- * If line begins with backspace it is considered as the continuation of
- * previous line.
- *
- * RETURN:
- * Returns pointer to name found if success. In case of error returns NULL
- * and sets current thread's/process's errno.
- */
-static char *
-_DEFUN(find_alias, (rptr, alias, table, len),
- struct _reent *rptr _AND
- _CONST char *alias _AND
- _CONST char *table _AND
- int len)
-{
- _CONST char *end;
- _CONST char *p;
- int l = strlen (alias);
- _CONST char *ptable = table;
- _CONST char *table_end = table + len;
-
- if (table == NULL || alias == NULL || *table == '\0' || *alias == '\0')
- return NULL;
-
-search_again:
- if (len < l || (p = strnstr (ptable, alias, len)) == NULL)
- return NULL;
-
- /* Check that substring is segregated by '\n', '\t' or ' ' */
- if (!((p == table || isspace (*(p-1)) || *(p-1) == '\n')
- && (p+l == table_end || isspace (*(p+l)) || *(p+l) == '\n')))
- {
- ptable = p + l;
- len -= table - p;
- goto search_again;
- }
-
- while(--p > table && *p != '\n');
-
- if (*(++p) == '#')
- return NULL;
-
- for (end = p + 1; !isspace (*end) && *end != '\n' && *end != '\0'; end++);
-
- return _strndup_r (rptr, p, (size_t)(end - p));
-}
-
-/*
- * _iconv_resolve_encoding_name - resolves encoding's name by given alias.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process.
- * _CONST char *ca - encoding alias to resolve.
- *
- * DESCRIPTION:
- * First, tries to find 'ca' among built-in aliases. If not found, tries to
- * find it external file.
- *
- * RETURN:
- * Encoding name if found. In case of error returns NULL
- * and sets current thread's/process's errno.
- */
-char *
-_DEFUN(_iconv_resolve_encoding_name, (rptr, cname, path),
- struct _reent *rptr _AND
- _CONST char *ca)
-{
- char *p = (char *)ca;
-
- /* Alias shouldn't contain white spaces, '\n' and '\r' symbols */
- while (*p)
- if (*p == ' ' || *p == '\r' || *p++ == '\n')
- return NULL;
-
- if ((ca = canonical_form (rptr, ca)) == NULL)
- return NULL;
-
- p = find_alias (rptr, ca, _iconv_aliases, strlen (_iconv_aliases));
-
- _free_r (rptr, (_VOID_PTR)ca);
- return p;
-}
-
diff --git a/newlib/libc/iconv/lib/conv.h b/newlib/libc/iconv/lib/conv.h
deleted file mode 100644
index 03c7c119d..000000000
--- a/newlib/libc/iconv/lib/conv.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- * Copyright (c) 1999,2000, Konstantin Chuguev. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef __ICONV_CONVERSION_H__
-#define __ICONV_CONVERSION_H__
-
-#include <_ansi.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <wchar.h>
-
-/* Bits for 'flags' parameter of 'convert' call */
-#define ICONV_DONT_SAVE_BIT 1
-#define ICONV_FAIL_BIT 2
-
-/*
- * iconv_conversion_handlers_t - keeps iconv conversion handlers.
- *
- * Keeps 6 interface function handlers:
- * open(), close(), convert(), get_mb_cur_max(), get_state(), set_state(),
- * get_mb_cur_max() and is_stateful(). Last 5 interface functions are needed to
- * support locale subsystem.
- *
- * ============================================================================
- */
-typedef struct
-{
- /*
- * open - open and initialize conversion.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process;
- * _CONST char *to - output encoding's normalized name;
- * _CONST char *from - input encoding's normalized name.
- *
- * DESCRIPTION:
- * This function is called from iconv_open() to open conversion. Returns
- * a pointer to conversion-specific data.
- *
- * RETURN:
- * Pointer to conversion-specific data if success. In case of error
- * returns NULL and sets current thread's/process's errno.
- */
- _VOID_PTR _EXPARM(open, (struct _reent *rptr,
- _CONST char *to,
- _CONST char *from));
-
- /*
- * close - close conversion.
- *
- * PARAMETRS:
- * struct _reent *rptr - reent structure of current thread/process;
- * _VOID_PTR data - conversion-specific data.
- *
- * DESCRIPTION:
- * This function is called from iconv_close() to close conversion.
- *
- * RETURN:
- * When successful, returns (size_t)0. In case of error, sets current
- * thread's/process's errno and returns (size_t)-1 (same as iconv_open()).
- */
- size_t _EXPARM(close, (struct _reent *rptr,
- _VOID_PTR data));
-
- /* convert - perform encoding conversion.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process.
- * _VOID_PTR data - conversion-specific data;
- * _CONST unsigned char **inbuf - input data buffer;
- * size_t *inbytesleft - input buffer's length;
- * unsigned char **outbuf - output data buffer;
- * size_t *outbytesleft - output buffer free space;
- * int flags - conversion options.
- *
- * DESCRIPTION:
- * This function is called from iconv() to perform conversion and, if 'flags'
- * is 0, behaves similarly to iconv(). 'inbuf', 'inbytesleft', 'outbuf' and
- * 'outbytesleft' are same as in case of iconv() function.
- *
- * When flags & 1 isn't 0, 'outbuf' value is ignored and result isn't saved.
- * Another conversion aspects aren't changed.
- *
- * When flags & 2 isn't 0, function changes it's behavior in situations,
- * when there is no character in "to" encoding that corresponds to valid
- * character from "from" encoding. iconv() specification stands to perform
- * implimentation-spacific default conversion. If flag & 2 isn't 0,
- * function generates error.
- *
- * RETURN:
- * Returns the number of characters converted in a non-reversible way.
- * Reversible conversions are not counted. In case of error, sets current
- * thread's/process's errno and returns (size_t)-1 (same as iconv()).
- */
- size_t _EXPARM(convert, (struct _reent *rptr,
- _VOID_PTR data,
- _CONST unsigned char **inbuf,
- size_t *inbytesleft,
- unsigned char **outbuf,
- size_t *outbytesleft,
- int flags));
-
- /*
- * get_state - get current shift state.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- * mbstate_t *state - mbstate_t object where shift state will be written;
- * int direction - 0-"from", 1-"to".
- *
- * DESCRIPTION:
- * Returns encoding's current shift sequence.
- * If 'direction' is 0, "from" encoding is tested, else
- * "to" encoding is tested.
- */
- _VOID _EXPARM(get_state, (_VOID_PTR data,
- mbstate_t *state,
- int direction));
-
- /*
- * set_state - set shift state.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- * mbstate_t *state - mbstate_t object to which shift state will be set.
- * int direction - 0-"from", 1-"to".
- *
- * DESCRIPTION:
- * Sets encoding's current shift state to 'state'. if 'state'
- * object is zero-object - reset current shift state.
- * If 'direction' is 0, "from" encoding is set, else
- * "to" encoding is set.
- * Returns 0 if '*state' object has right format, -1 else.
- */
- int _EXPARM(set_state, (_VOID_PTR data,
- mbstate_t *state,
- int direction));
-
- /*
- * get_mb_cur_max - get maximum character length in bytes.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- * int direction - 0-"from", 1-"to".
- *
- * DESCRIPTION:
- * Returns encoding's maximum character length.
- * If 'direction' is 0, "from" encoding is tested, else
- * "to" encoding is tested.
- */
- int _EXPARM(get_mb_cur_max, (_VOID_PTR data,
- int direction));
-
- /*
- * is_stateful - is encoding stateful or stateless.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- * int direction - 0-"from", 1-"to".
- *
- * DESCRIPTION:
- * Returns 0 if encoding is stateless and 1 if stateful.
- * If 'direction' is 0, "from" encoding is tested, else
- * "to" encoding is tested.
- */
- int _EXPARM(is_stateful, (_VOID_PTR data,
- int direction));
-
-} iconv_conversion_handlers_t;
-
-
-/*
- * iconv_conversion_t - iconv conversion definition structure.
- *
- * ============================================================================
- */
-typedef struct
-{
- /* Iconv conversion handlers. */
- _CONST iconv_conversion_handlers_t *handlers;
-
- /*
- * Conversion-specific data (e.g., points to iconv_ucs_conversion_t
- * object if UCS-based conversion is used).
- */
- _VOID_PTR data;
-} iconv_conversion_t;
-
-
-/* UCS-based conversion handlers */
-extern _CONST iconv_conversion_handlers_t
-_iconv_ucs_conversion_handlers;
-
-/* Null conversion handlers */
-extern _CONST iconv_conversion_handlers_t
-_iconv_null_conversion_handlers;
-
-#endif /* !__ICONV_CONVERSION_H__ */
-
diff --git a/newlib/libc/iconv/lib/encnames.h b/newlib/libc/iconv/lib/encnames.h
deleted file mode 100644
index 9ca16adfb..000000000
--- a/newlib/libc/iconv/lib/encnames.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * This file was automatically generated mkdeps.pl script. Don't edit.
- */
-
-#ifndef __ENCNAMES_H__
-#define __ENCNAMES_H__
-
-/*
- * Encodings name macros.
- */
-#define ICONV_ENCODING_BIG5 "big5"
-#define ICONV_ENCODING_CP775 "cp775"
-#define ICONV_ENCODING_CP850 "cp850"
-#define ICONV_ENCODING_CP852 "cp852"
-#define ICONV_ENCODING_CP855 "cp855"
-#define ICONV_ENCODING_CP866 "cp866"
-#define ICONV_ENCODING_EUC_JP "euc_jp"
-#define ICONV_ENCODING_EUC_KR "euc_kr"
-#define ICONV_ENCODING_EUC_TW "euc_tw"
-#define ICONV_ENCODING_ISO_8859_1 "iso_8859_1"
-#define ICONV_ENCODING_ISO_8859_10 "iso_8859_10"
-#define ICONV_ENCODING_ISO_8859_11 "iso_8859_11"
-#define ICONV_ENCODING_ISO_8859_13 "iso_8859_13"
-#define ICONV_ENCODING_ISO_8859_14 "iso_8859_14"
-#define ICONV_ENCODING_ISO_8859_15 "iso_8859_15"
-#define ICONV_ENCODING_ISO_8859_2 "iso_8859_2"
-#define ICONV_ENCODING_ISO_8859_3 "iso_8859_3"
-#define ICONV_ENCODING_ISO_8859_4 "iso_8859_4"
-#define ICONV_ENCODING_ISO_8859_5 "iso_8859_5"
-#define ICONV_ENCODING_ISO_8859_6 "iso_8859_6"
-#define ICONV_ENCODING_ISO_8859_7 "iso_8859_7"
-#define ICONV_ENCODING_ISO_8859_8 "iso_8859_8"
-#define ICONV_ENCODING_ISO_8859_9 "iso_8859_9"
-#define ICONV_ENCODING_ISO_IR_111 "iso_ir_111"
-#define ICONV_ENCODING_KOI8_R "koi8_r"
-#define ICONV_ENCODING_KOI8_RU "koi8_ru"
-#define ICONV_ENCODING_KOI8_U "koi8_u"
-#define ICONV_ENCODING_KOI8_UNI "koi8_uni"
-#define ICONV_ENCODING_UCS_2 "ucs_2"
-#define ICONV_ENCODING_UCS_2_INTERNAL "ucs_2_internal"
-#define ICONV_ENCODING_UCS_2BE "ucs_2be"
-#define ICONV_ENCODING_UCS_2LE "ucs_2le"
-#define ICONV_ENCODING_UCS_4 "ucs_4"
-#define ICONV_ENCODING_UCS_4_INTERNAL "ucs_4_internal"
-#define ICONV_ENCODING_UCS_4BE "ucs_4be"
-#define ICONV_ENCODING_UCS_4LE "ucs_4le"
-#define ICONV_ENCODING_US_ASCII "us_ascii"
-#define ICONV_ENCODING_UTF_16 "utf_16"
-#define ICONV_ENCODING_UTF_16BE "utf_16be"
-#define ICONV_ENCODING_UTF_16LE "utf_16le"
-#define ICONV_ENCODING_UTF_8 "utf_8"
-#define ICONV_ENCODING_WIN_1250 "win_1250"
-#define ICONV_ENCODING_WIN_1251 "win_1251"
-#define ICONV_ENCODING_WIN_1252 "win_1252"
-#define ICONV_ENCODING_WIN_1253 "win_1253"
-#define ICONV_ENCODING_WIN_1254 "win_1254"
-#define ICONV_ENCODING_WIN_1255 "win_1255"
-#define ICONV_ENCODING_WIN_1256 "win_1256"
-#define ICONV_ENCODING_WIN_1257 "win_1257"
-#define ICONV_ENCODING_WIN_1258 "win_1258"
-
-#endif /* !__ENCNAMES_H__ */
-
diff --git a/newlib/libc/iconv/lib/encoding.deps b/newlib/libc/iconv/lib/encoding.deps
deleted file mode 100644
index 280cffd10..000000000
--- a/newlib/libc/iconv/lib/encoding.deps
+++ /dev/null
@@ -1,441 +0,0 @@
-#
-# This file describes dependencies between encodings, CES, CCS, etc.
-# File relates only to UCS-based conversions and is needed for automatic
-# generation of C source files and C header files.
-#
-# This configuration file consists of sections, each section consists of
-# entries.
-#
-# Use only normalized names.
-#
-
-#
-# The first section named "ENCODINGS" describes:
-# 1. CES converter corresponding for each enoding;
-# 2. Each encoding's aliases;
-# 3. CCS tables corresponding for each enoding.
-#
-SECTION ENCODINGS
-
-# ISO-10646-UCS-2. Big Endian, NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: ucs_2
-CES: ucs_2
-ALIASES: ucs2 iso_10646_ucs_2 iso10646_ucs_2 iso_10646_ucs2 iso10646_ucs2 iso10646ucs2 csUnicode
-ENTRY END
-
-# Big Endian version of ISO-10646-UCS-2 (in fact, equivalent to ucs_2).
-# Big Endian, NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: ucs_2be
-CES: ucs_2
-ALIASES: ucs2be
-ENTRY END
-
-# Little Endian version of ISO-10646-UCS-2.
-# Little Endian, NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: ucs_2le
-CES: ucs_2
-ALIASES: ucs2le
-ENTRY END
-
-# ISO-10646-UCS-2 in system byte order.
-# NBSP is always interpreted as NBSP (BOM isn't supported).
-# NOTE: Dont delete and rename this since it is used as widechar's
-# encoding when sizeof(wchar_t) == 2
-ENTRY
-ENCODING: ucs_2_internal
-CES: ucs_2_internal
-ALIASES: ucs2_internal ucs_2internal ucs2internal
-ENTRY END
-
-# ISO-10646-UCS-4. Big Endian, NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: ucs_4
-CES: ucs_4
-ALIASES: ucs4 iso_10646_ucs_4 iso10646_ucs_4 iso_10646_ucs4 iso10646_ucs4 iso10646ucs4
-ENTRY END
-
-# Big Endian version of ISO-10646-UCS-4 (in fact, equivalent to ucs_4).
-# Big Endian, NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: ucs_4be
-CES: ucs_4
-ALIASES: ucs4be
-ENTRY END
-
-# Little Endian version of ISO-10646-UCS-4.
-# Little Endian, NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: ucs_4le
-CES: ucs_4
-ALIASES: ucs4le
-ENTRY END
-
-# ISO-10646-UCS-4 in system byte order.
-# NBSP is always interpreted as NBSP (BOM isn't supported).
-# NOTE: Dont delete and rename this since it is used as widechar's
-# encoding when sizeof(wchar_t) == 4
-ENTRY
-ENCODING: ucs_4_internal
-CES: ucs_4_internal
-ALIASES: ucs4_internal ucs_4internal ucs4internal
-ENTRY END
-
-# RFC 3629 UTF-8
-ENTRY
-ENCODING: utf_8
-CES: utf_8
-ALIASES: utf8
-ENTRY END
-
-# RFC 2781 UTF-16. The very first NBSP code in stream is interpreted as BOM.
-ENTRY
-ENCODING: utf_16
-CES: utf_16
-ALIASES: utf16
-ENTRY END
-
-# Big Endian version of RFC 2781 UTF-16.
-# NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: utf_16be
-CES: utf_16
-ALIASES: utf16be
-ENTRY END
-
-# Little Endian version of RFC 2781 UTF-16.
-# NBSP is always interpreted as NBSP (BOM isn't supported).
-ENTRY
-ENCODING: utf_16le
-CES: utf_16
-ALIASES: utf16le
-ENTRY END
-
-# 7-bit ASCII.
-ENTRY
-ENCODING: us_ascii
-CES: us_ascii
-ALIASES: ansi_x3.4_1968 ansi_x3.4_1986 iso_646.irv:1991 ascii iso646_us us ibm367 cp367 csascii
-ENTRY END
-
-# RFC 1489 Cyrillic
-ENTRY
-ENCODING: koi8_r
-CES: table
-CCS: koi8_r
-ALIASES: cskoi8r koi8r koi8
-ENTRY END
-
-# Obsoleted Ukrainian
-ENTRY
-ENCODING: koi8_ru
-CES: table
-CCS: koi8_ru
-ALIASES: koi8ru
-ENTRY END
-
-# RFC 2319 Ukrainian
-ENTRY
-ENCODING: koi8_u
-CES: table
-CCS: koi8_u
-ALIASES: koi8u
-ENTRY END
-
-# KOI8 Unified
-ENTRY
-ENCODING: koi8_uni
-CES: table
-CCS: koi8_uni
-ALIASES: koi8uni
-ENTRY END
-
-# ISO IR 111/ECMA Cyrillic.
-ENTRY
-ENCODING: iso_ir_111
-CES: table
-CCS: iso_ir_111
-ALIASES: ecma_cyrillic koi8_e koi8e csiso111ecmacyrillic
-ENTRY END
-
-# ISO 8859-1:1987 - Latin 1, West European
-ENTRY
-ENCODING: iso_8859_1
-CES: table
-CCS: iso_8859_1
-ALIASES: iso8859_1 iso88591 iso_8859_1:1987 iso_ir_100 latin1 l1 ibm819 cp819 csisolatin1
-ENTRY END
-
-# ISO 8859-2:1987 - Latin 2, East European
-ENTRY
-ENCODING: iso_8859_2
-CES: table
-CCS: iso_8859_2
-ALIASES: iso8859_2 iso88592 iso_8859_2:1987 iso_ir_101 latin2 l2 csisolatin2
-ENTRY END
-
-# ISO 8859-3:1988 - Latin 3, South European
-ENTRY
-ENCODING: iso_8859_3
-CES: table
-CCS: iso_8859_3
-ALIASES: iso_8859_3:1988 iso_ir_109 iso8859_3 latin3 l3 csisolatin3 iso88593
-ENTRY END
-
-# ISO 8859-4:1988 - Latin 4, North European
-ENTRY
-ENCODING: iso_8859_4
-CES: table
-CCS: iso_8859_4
-ALIASES: iso8859_4 iso88594 iso_8859_4:1988 iso_ir_110 latin4 l4 csisolatin4
-ENTRY END
-
-# ISO 8859-5:1988 - Cyrillic
-ENTRY
-ENCODING: iso_8859_5
-CES: table
-CCS: iso_8859_5
-ALIASES: iso8859_5 iso88595 iso_8859_5:1988 iso_ir_144 cyrillic csisolatincyrillic
-ENTRY END
-
-# ISO i8859-6:1987 - Arabic
-ENTRY
-ENCODING: iso_8859_6
-CES: table
-CCS: iso_8859_6
-ALIASES: iso_8859_6:1987 iso_ir_127 iso8859_6 ecma_114 asmo_708 arabic csisolatinarabic iso88596
-ENTRY END
-
-# ISO 8859-7:1987 - Greek
-ENTRY
-ENCODING: iso_8859_7
-CES: table
-CCS: iso_8859_7
-ALIASES: iso_8859_7:1987 iso_ir_126 iso8859_7 elot_928 ecma_118 greek greek8 csisolatingreek iso88597
-ENTRY END
-
-# ISO 8859-8:1988 - Hebrew
-ENTRY
-ENCODING: iso_8859_8
-CES: table
-CCS: iso_8859_8
-ALIASES: iso_8859_8:1988 iso_ir_138 iso8859_8 hebrew csisolatinhebrew iso88598
-ENTRY END
-
-# ISO 8859-9:1989 - Latin 5, Turkish
-ENTRY
-ENCODING: iso_8859_9
-CES: table
-CCS: iso_8859_9
-ALIASES: iso_8859_9:1989 iso_ir_148 iso8859_9 latin5 l5 csisolatin5 iso88599
-ENTRY END
-
-# ISO 8859-10:1992 - Latin 6, Nordic
-ENTRY
-ENCODING: iso_8859_10
-CES: table
-CCS: iso_8859_10
-ALIASES: iso_8859_10:1992 iso_ir_157 iso885910 latin6 l6 csisolatin6 iso8859_10
-ENTRY END
-
-# ISO 8859-11 - Thai
-ENTRY
-ENCODING: iso_8859_11
-CES: table
-CCS: iso_8859_11
-ALIASES: iso8859_11 iso885911
-ENTRY END
-
-# ISO 8859-13:1998 - Latin 7, Baltic Rim
-ENTRY
-ENCODING: iso_8859_13
-CES: table
-CCS: iso_8859_13
-ALIASES: iso_8859_13:1998 iso8859_13 iso885913
-ENTRY END
-
-# ISO 8859-14:1998 - Latin 8, Celtic
-ENTRY
-ENCODING: iso_8859_14
-CES: table
-CCS: iso_8859_14
-ALIASES: iso_8859_14:1998 iso885914 iso8859_14
-ENTRY END
-
-# ISO 8859-15:1998 - Latin 9, West Europe, successor of Latin 1
-ENTRY
-ENCODING: iso_8859_15
-CES: table
-CCS: iso_8859_15
-ALIASES: iso885915 iso_8859_15:1998 iso8859_15
-ENTRY END
-
-# Win-1250
-ENTRY
-ENCODING: win_1250
-CES: table
-CCS: win_1250
-ALIASES: cp1250
-ENTRY END
-
-# Win-1251 - Cyrillic
-ENTRY
-ENCODING: win_1251
-CES: table
-CCS: win_1251
-ALIASES: cp1251
-ENTRY END
-
-# Win-1252 - Latin 1
-ENTRY
-ENCODING: win_1252
-CES: table
-CCS: win_1252
-ALIASES: cp1252
-ENTRY END
-
-# Win-1253 - Greek
-ENTRY
-ENCODING: win_1253
-CES: table
-CCS: win_1253
-ALIASES: cp1253
-ENTRY END
-
-# Win-1254 - Turkish
-ENTRY
-ENCODING: win_1254
-CES: table
-CCS: win_1254
-ALIASES: cp1254
-ENTRY END
-
-# Win-1255 - Hebrew
-ENTRY
-ENCODING: win_1255
-CES: table
-CCS: win_1255
-ALIASES: cp1255
-ENTRY END
-
-# Win-1256 - Arabic
-ENTRY
-ENCODING: win_1256
-CES: table
-CCS: win_1256
-ALIASES: cp1256
-ENTRY END
-
-# Win-1257 - Baltic
-ENTRY
-ENCODING: win_1257
-CES: table
-CCS: win_1257
-ALIASES: cp1257
-ENTRY END
-
-# Win-1258 - Vietnamese7 that supports Cyrillic
-ENTRY
-ENCODING: win_1258
-CES: table
-CCS: win_1258
-ALIASES: cp1258
-ENTRY END
-
-# big5 - an encoding for Traditional Chinese
-ENTRY
-ENCODING: big5
-CES: table_pcs
-CCS: big5
-ALIASES: csbig5 big_five bigfive cn_big5 cp950
-ENTRY END
-
-# IBM 775 - an updated version of CP 437 that supports balitic languages.
-ENTRY
-ENCODING: cp775
-CES: table
-CCS: cp775
-ALIASES: ibm775 cspc775baltic
-ENTRY END
-
-# IBM 850 - an updated version of CP 437 where several Latin 1 characters have been
-# added instead of some less-often used characters like line-drawing and greek ones.
-ENTRY
-ENCODING: cp850
-CES: table
-CCS: cp850
-ALIASES: ibm850 850 cspc850multilingual
-ENTRY END
-
-# IBM 852 - an updated version of CP 437 where several Latin 2 characters have been added
-# instead of some less-often used characters like line-drawing and greek ones.
-ENTRY
-ENCODING: cp852
-CES: table
-CCS: cp852
-ALIASES: ibm852 852 cspcp852
-ENTRY END
-
-# IBM 855 - an updated version of CP 437 that supports Cyrillic.
-ENTRY
-ENCODING: cp855
-CES: table
-CCS: cp855
-ALIASES: ibm855 855 csibm855
-ENTRY END
-
-# IBM 866 - an updated version of CP 855 which followes the more logical Russian alphabet
-# ordering of the alternativny variant that is preferred by many Russian users.
-ENTRY
-ENCODING: cp866
-CES: table
-CCS: cp866
-ALIASES: 866 IBM866 CSIBM866
-ENTRY END
-
-# EUC-JP - The EUC for Japanese
-ENTRY
-ENCODING: euc_jp
-CES: euc
-CCS: jis_x0208_1990 jis_x0201_1976 jis_x0212_1990
-ALIASES: eucjp
-ENTRY END
-
-# EUC-KR - The EUC for Korean
-ENTRY
-ENCODING: euc_kr
-CES: euc
-CCS: ksx1001
-ALIASES: euckr
-ENTRY END
-
-# EUC-TW - The EUC for Traditional Chinese
-ENTRY
-ENCODING: euc_tw
-CES: euc
-CCS: cns11643_plane1 cns11643_plane2 cns11643_plane14
-ALIASES: euctw
-ENTRY END
-
-SECTION END
-
-#
-# This section is named "CES_DEPENDENCIES" and describes dependencies
-# between CES converters (some CES converters may use another CES converters).
-#
-SECTION CES_DEPENDENCIES
-
-ENTRY
-CES: table_pcs
-USED_CES: table
-ENTRY END
-
-ENTRY
-CES: euc
-USED_CES: table us_ascii
-ENTRY END
-
-SECTION END
-
diff --git a/newlib/libc/iconv/lib/endian.h b/newlib/libc/iconv/lib/endian.h
deleted file mode 100644
index 2db6c6df9..000000000
--- a/newlib/libc/iconv/lib/endian.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef __ICONV_CES_ENDIAN_H__
-#define __ICONV_CES_ENDIAN_H__
-
-#include <sys/param.h>
-
-#if (BYTE_ORDER == LITTLE_ENDIAN)
-
-# define ICONV_BETOHS(s) \
- ((((s) << 8) & 0xFF00) | (((s) >> 8) & 0x00FF))
-
-# define ICONV_BETOHL(l) \
- ((((l) << 24) & 0xFF000000) | \
- (((l) << 8) & 0x00FF0000) | \
- (((l) >> 8) & 0x0000FF00) | \
- (((l) >> 24) & 0x000000FF))
-
-# define ICONV_LETOHS(s) (s)
-# define ICONV_LETOHL(l) (l)
-
-# define ICONV_HTOLES(s) ICONV_LETOHS (s)
-# define ICONV_HTOLEL(l) ICONV_LETOHL (l)
-# define ICONV_HTOBES(s) ICONV_BETOHS (s)
-# define ICONV_HTOBEL(l) ICONV_BETOHL (l)
-
-#elif (BYTE_ORDER == BIG_ENDIAN)
-
-# define ICONV_BETOHS(s) (s)
-# define ICONV_BETOHL(l) (l)
-
-# define ICONV_LETOHS(s) \
- ((((s) << 8) & 0xFF00) | (((s) >> 8) & 0x00FF))
-
-# define ICONV_LETOHL(l) \
- ((((l) << 24) & 0xFF000000) | \
- (((l) << 8) & 0x00FF0000) | \
- (((l) >> 8) & 0x0000FF00) | \
- (((l) >> 24) & 0x000000FF))
-
-# define ICONV_HTOBES(s) ICONV_BETOHS (s)
-# define ICONV_HTOBEL(l) ICONV_BETOHL (l)
-# define ICONV_HTOLES(s) ICONV_LETOHS (s)
-# define ICONV_HTOLEL(l) ICONV_LETOHL (l)
-
-#else
-# error "Unknown byte order."
-#endif
-
-#endif /* !__ICONV_CES_ENDIAN_H__ */
-
diff --git a/newlib/libc/iconv/lib/iconv.c b/newlib/libc/iconv/lib/iconv.c
deleted file mode 100644
index ee7124b41..000000000
--- a/newlib/libc/iconv/lib/iconv.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- * Copyright (c) 1999,2000, Konstantin Chuguev. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
-FUNCTION
-<<iconv>>, <<iconv_open>>, <<iconv_close>>---charset conversion routines
-
-INDEX
- iconv
-INDEX
- iconv_open
-INDEX
- iconv_close
-INDEX
- _iconv_r
-INDEX
- _iconv_open_r
-INDEX
- _iconv_close_r
-
-ANSI_SYNOPSIS
- #include <iconv.h>
- iconv_t iconv_open (const char *<[to]>, const char *<[from]>);
- int iconv_close (iconv_t <[cd]>);
- size_t iconv (iconv_t <[cd]>, const char **<[inbuf]>,
- size_t *<[inbytesleft]>,
- char **<[outbuf]>, size_t *<[outbytesleft]>),
-
- iconv_t _iconv_open_r (struct _reent *<[rptr]>,
- const char *<[to]>, const char *<[from]>);
- int _iconv_close_r (struct _reent *<[rptr]>, iconv_t <[cd]>);
- size_t _iconv_r (struct _reent *<[rptr]>,
- iconv_t <[cd]>, const char **<[inbuf]>,
- size_t *<[inbytesleft]>,
- char **<[outbuf]>, size_t *<[outbytesleft]>),
-
-TRAD_SYNOPSIS
- #include <iconv.h>
- size_t iconv (<[cd]>, <[in]>, <[inleft]>, <[out]>, <[outleft]>)
- iconv_t <[cd]>;
- const char **<[in]>;
- size_t *<[inleft]>;
- char **<[out]>;
- size_t *<[outleft]>);
-
- #include <iconv.h>
- iconv_t iconv_open (<[to]>, <[from]>);
- const char *<[to]>;
- const char *<[from]>;
-
- #include <iconv.h>
- int iconv_close (<[cd]>);
- iconv_t <[cd]>;
-
- #include <iconv.h>
- size_t _iconv_r (<[rptr]>, <[cd]>, <[in]>, <[inleft]>, <[out]>, <[outleft]>)
- struct _reent *<[rptr]>;
- iconv_t <[cd]>;
- const char **<[in]>;
- size_t *<[inleft]>;
- char **<[out]>;
- size_t *<[outleft]>);
-
- #include <iconv.h>
- iconv_t _iconv_open_r (<[rptr]>, <[to]>, <[from]>);
- struct _reent *<[rptr]>;
- const char *<[to]>;
- const char *<[from]>;
-
- #include <iconv.h>
- int iconv_close (<[rptr]>, <[cd]>);
- struct _reent *<[rptr]>;
- iconv_t <[cd]>;
-
-DESCRIPTION
-The function <<iconv>> converts characters from <[in]> which are in one
-encoding to characters of another encoding, outputting them to <[out]>.
-The value <[inleft]> specifies the number of input bytes to convert whereas
-the value <[outleft]> specifies the size remaining in the <[out]> buffer.
-The conversion descriptor <[cd]> specifies the conversion being performed
-and is created via <<iconv_open>>.
-
-An <<iconv>> conversion stops if: the input bytes are exhausted, the output
-buffer is full, an invalid input character sequence occurs, or the
-conversion specifier is invalid.
-
-The function <<iconv_open>> is used to specify a conversion from one
-encoding: <[from]> to another: <[to]>. The result of the call is
-to create a conversion specifier that can be used with <<iconv>>.
-
-The function <<iconv_close>> is used to close a conversion specifier after
-it is no longer needed.
-
-The <<_iconv_r>>, <<_iconv_open_r>>, and <<_iconv_close_r>> functions are
-reentrant versions of <<iconv>>, <<iconv_open>>, and <<iconv_close>>,
-respectively. An additional reentrancy struct pointer: <[rptr]> is passed
-to properly set <<errno>>.
-
-RETURNS
-The <<iconv>> function returns the number of non-identical conversions
-performed. If an error occurs, (size_t)-1 is returned and <<errno>>
-is set appropriately. The values of <[inleft]>, <[in]>, <[out]>,
-and <[outleft]> are modified to indicate how much input was processed
-and how much output was created.
-
-The <<iconv_open>> function returns either a valid conversion specifier
-or (iconv_t)-1 to indicate failure. If failure occurs, <<errno>> is set
-appropriately.
-
-The <<iconv_close>> function returns 0 on success or -1 on failure.
-If failure occurs <<errno>> is set appropriately.
-
-PORTABILITY
-<<iconv>>, <<iconv_open>>, and <<iconv_close>> are non-ANSI and are specified
-by the Single Unix specification.
-
-No supporting OS subroutine calls are required.
-*/
-#include <_ansi.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <iconv.h>
-#include <wchar.h>
-#include <sys/iconvnls.h>
-#include "local.h"
-#include "conv.h"
-#include "ucsconv.h"
-
-/*
- * iconv interface functions as specified by Single Unix specification.
- */
-
-iconv_t
-_DEFUN(iconv_open, (to, from),
- _CONST char *to _AND
- _CONST char *from)
-{
- return _iconv_open_r (_REENT, to, from);
-}
-
-
-size_t
-_DEFUN(iconv, (cd, inbuf, inbytesleft, outbuf, outbytesleft),
- iconv_t cd _AND
- _CONST char **inbuf _AND
- size_t *inbytesleft _AND
- char **outbuf _AND
- size_t *outbytesleft)
-{
- return _iconv_r (_REENT, cd, inbuf, inbytesleft, outbuf, outbytesleft);
-}
-
-
-int
-_DEFUN(iconv_close, (cd), iconv_t cd)
-{
- return _iconv_close_r (_REENT, cd);
-}
-
-
-#ifndef _REENT_ONLY
-iconv_t
-_DEFUN(_iconv_open_r, (rptr, to, from),
- struct _reent *rptr _AND
- _CONST char *to _AND
- _CONST char *from)
-{
- iconv_conversion_t *ic;
-
- if (to == NULL || from == NULL || *to == '\0' || *from == '\0')
- return (iconv_t)-1;
-
- if ((to = (_CONST char *)_iconv_resolve_encoding_name (rptr, to)) == NULL)
- return (iconv_t)-1;
-
- if ((from = (_CONST char *)_iconv_resolve_encoding_name (rptr, from)) == NULL)
- {
- _free_r (rptr, (_VOID_PTR)to);
- return (iconv_t)-1;
- }
-
- ic = (iconv_conversion_t *)_malloc_r (rptr, sizeof (iconv_conversion_t));
- if (ic == NULL)
- return (iconv_t)-1;
-
- /* Select which conversion type to use */
- if (strcmp (from, to) == 0)
- {
- /* Use null conversion */
- ic->handlers = &_iconv_null_conversion_handlers;
- ic->data = ic->handlers->open (rptr, to, from);
- }
- else
- {
- /* Use UCS-based conversion */
- ic->handlers = &_iconv_ucs_conversion_handlers;
- ic->data = ic->handlers->open (rptr, to, from);
- }
-
- _free_r (rptr, (_VOID_PTR)to);
- _free_r (rptr, (_VOID_PTR)from);
-
- if (ic->data == NULL)
- {
- _free_r (rptr, (_VOID_PTR)ic);
- return (iconv_t)-1;
- }
-
- return (_VOID_PTR)ic;
-}
-
-
-size_t
-_DEFUN(_iconv_r, (rptr, cd, inbuf, inbytesleft, outbuf, outbytesleft),
- struct _reent *rptr _AND
- iconv_t cd _AND
- _CONST char **inbuf _AND
- size_t *inbytesleft _AND
- char **outbuf _AND
- size_t *outbytesleft)
-{
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
-
- if ((_VOID_PTR)cd == NULL || cd == (iconv_t)-1 || ic->data == NULL
- || (ic->handlers != &_iconv_null_conversion_handlers
- && ic->handlers != &_iconv_ucs_conversion_handlers))
- {
- __errno_r (rptr) = EBADF;
- return (size_t)-1;
- }
-
- if (inbuf == NULL || *inbuf == NULL)
- {
- mbstate_t state_null = ICONV_ZERO_MB_STATE_T;
-
- if (!ic->handlers->is_stateful(ic->data, 1))
- return (size_t)0;
-
- if (outbuf == NULL || *outbuf == NULL)
- {
- /* Reset shift state */
- ic->handlers->set_state (ic->data, &state_null, 1);
-
- return (size_t)0;
- }
-
- if (outbytesleft != NULL)
- {
- mbstate_t state_save = ICONV_ZERO_MB_STATE_T;
-
- /* Save current shift state */
- ic->handlers->get_state (ic->data, &state_save, 1);
-
- /* Reset shift state */
- ic->handlers->set_state (ic->data, &state_null, 1);
-
- /* Get initial shift state sequence and it's length */
- ic->handlers->get_state (ic->data, &state_null, 1);
-
- if (*outbytesleft >= state_null.__count)
- {
- memcpy ((_VOID_PTR)(*outbuf), (_VOID_PTR)&state_null, state_null.__count);
-
- *outbuf += state_null.__count;
- *outbytesleft -= state_null.__count;
-
- return (size_t)0;
- }
-
- /* Restore shift state if output buffer is too small */
- ic->handlers->set_state (ic->data, &state_save, 1);
- }
-
- __errno_r (rptr) = E2BIG;
- return (size_t)-1;
- }
-
- if (*inbytesleft == 0)
- {
- __errno_r (rptr) = EINVAL;
- return (size_t)-1;
- }
-
- if (*outbytesleft == 0 || *outbuf == NULL)
- {
- __errno_r (rptr) = E2BIG;
- return (size_t)-1;
- }
-
- return ic->handlers->convert (rptr,
- ic->data,
- (_CONST unsigned char**)inbuf,
- inbytesleft,
- (unsigned char**)outbuf,
- outbytesleft,
- 0);
-}
-
-
-int
-_DEFUN(_iconv_close_r, (rptr, cd),
- struct _reent *rptr _AND
- iconv_t cd)
-{
- int res;
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
-
- if ((_VOID_PTR)cd == NULL || cd == (iconv_t)-1 || ic->data == NULL
- || (ic->handlers != &_iconv_null_conversion_handlers
- && ic->handlers != &_iconv_ucs_conversion_handlers))
- {
- __errno_r (rptr) = EBADF;
- return -1;
- }
-
- res = (int)ic->handlers->close (rptr, ic->data);
-
- _free_r (rptr, (_VOID_PTR)cd);
-
- return res;
-}
-#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/iconv/lib/iconvnls.c b/newlib/libc/iconv/lib/iconvnls.c
deleted file mode 100644
index 1b42f2c7b..000000000
--- a/newlib/libc/iconv/lib/iconvnls.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <_ansi.h>
-#include <reent.h>
-#include <newlib.h>
-#include <sys/types.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/iconvnls.h>
-#ifdef _MB_CAPABLE
-#include <wchar.h>
-#include <iconv.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include "local.h"
-#include "conv.h"
-#include "ucsconv.h"
-#include "iconvnls.h"
-#endif
-
-/*
- * _iconv_nls_construct_filename -- constructs full file name.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process.
- * _CONST char *file - the name of file.
- * _CONST char *dir - the name of subdirectory;
- * _CONST char *ext - file extension.
- *
- * DESCRIPTION:
- * Function constructs patch to icionv-related file.
- * 'file' shouldn't be NULL. Doesn't use extension if 'ext' is NULL.
- *
- * RETURN:
- * The pointer to file name if success, In case of error returns NULL
- * and sets current thread's/process's errno.
- */
-_CONST char *
-_DEFUN(_iconv_nls_construct_filename, (rptr, file, ext),
- struct _reent *rptr _AND
- _CONST char *file _AND
- _CONST char *dir _AND
- _CONST char *ext)
-{
- int len1, len2, len3;
- char *path;
- char *p;
- int dirlen = strlen (dir);
-
- if ((path = _getenv_r (rptr, NLS_ENVVAR_NAME)) == NULL || *path == '\0')
- path = ICONV_DEFAULT_NLSPATH;
-
- len1 = strlen (path);
- len2 = strlen (file);
- len3 = strlen (ext);
-
- if ((p = _malloc_r (rptr, len1 + dirlen + len2 + len3 + 3)) == NULL)
- return (_CONST char *)NULL;
-
- memcpy (p, path, len1);
- if (p[len1 - 1] != '/')
- p[len1++] = '/';
- memcpy (p + len1, dir, dirlen);
- len1 += dirlen;
- p[len1++] = '/';
- memcpy (p + len1, file, len2);
- len1 += len2;
- if (ext != NULL)
- {
- memcpy (p + len1, ext, len3);
- len1 += len3;
- }
- p[len1] = '\0';
-
- return (_CONST char *)p;
-}
-
-
-#ifdef _MB_CAPABLE
-/*
- * _iconv_nls_get_mb_cur_max -- return encoding's maximum length
- * of a multi-byte character.
- *
- * PARAMETERS:
- * iconv_t cd - opened iconv conversion descriptor;
- * int direction - "from encoding" or "to encoding" direction.
- *
- * DESCRIPTION:
- * Return maximum length of a multi-byte character in one of 'cd's
- * encoding. Return "from" encoding's value if 'direction' is 0 and
- * "to" encoding's value if 'direction' isn't 0.
- */
-int
-_DEFUN(_iconv_nls_get_mb_cur_max, (cd, direction),
- iconv_t cd _AND
- int direction)
-{
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
-
- return ic->handlers->get_mb_cur_max (ic->data, direction);
-}
-
-/*
- * _iconv_nls_is_stateful -- is encoding stateful?
- *
- * PARAMETERS:
- * iconv_t cd - opened iconv conversion descriptor;
- * int direction - "from encoding" or "to encoding" direction.
- *
- * DESCRIPTION:
- * Returns 0 if encoding is stateless or 1 if stateful.
- * Tests "from" encoding if 'direction' is 0 and
- * "to" encoding's value if 'direction' isn't 0.
-
- */
-int
-_DEFUN(_iconv_nls_is_stateful, (cd, direction),
- iconv_t cd _AND
- int direction)
-{
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
-
- return ic->handlers->is_stateful (ic->data, direction);
-}
-
-/*
- * _iconv_nls_conv - special version of iconv for NLS.
- *
- * PARAMETERS:
- * Same as _iconv_r.
- *
- * DESCRIPTION:
- * Function behaves as _iconv_r but:
- * 1. Don't handle reset/return shift states queries
- * (like iconv does when 'inbuf' == NULL, etc);
- * 2. Don't save result if 'outbuf' == NULL or
- * '*outbuf' == NULL;
- * 3. Don't perform default conversion if there is no character
- * in "to" encoding that corresponds to character from "from"
- * encoding.
- *
- * RETURN:
- * Same as _iconv_r.
- */
-size_t
-_DEFUN(_iconv_nls_conv, (rptr, cd, inbuf, inbytesleft, outbuf, outbytesleft),
- struct _reent *rptr _AND
- iconv_t cd _AND
- _CONST char **inbuf _AND
- size_t *inbytesleft _AND
- char **outbuf _AND
- size_t *outbytesleft)
-{
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
- int flags = ICONV_FAIL_BIT;
-
- if ((_VOID_PTR)cd == NULL || cd == (iconv_t)-1 || ic->data == NULL
- || (ic->handlers != &_iconv_null_conversion_handlers
- && ic->handlers != &_iconv_ucs_conversion_handlers))
- {
- __errno_r (rptr) = EBADF;
- return (size_t)-1;
- }
-
- if (inbytesleft == NULL || *inbytesleft == 0)
- return (size_t)0;
-
- if (outbuf == NULL || *outbuf == NULL)
- flags |= ICONV_DONT_SAVE_BIT;
-
- if (outbytesleft == NULL || *outbytesleft == 0)
- {
- __errno_r (rptr) = E2BIG;
- return (size_t)-1;
- }
-
- return ic->handlers->convert (rptr,
- ic->data,
- (_CONST unsigned char**)inbuf,
- inbytesleft,
- (unsigned char**)outbuf,
- outbytesleft,
- flags);
-}
-
-/*
- * _iconv_nls_get_state -- get encoding's current shift state value.
- *
- * PARAMETERS:
- * iconv_t cd - iconv descriptor;
- * mbstate_t *ps - where to save shift state;
- * int direction - "from" encoding if 0, "to" encoding if 1.
- *
- * DESCRIPTION:
- * Save encoding's current shift state to 'ps'. Save "from" encoding's
- * shift state if 'direction' is 0 and "to" encodings's shift state
- * if 'direction' isn't 0.
- */
-_VOID
-_DEFUN(_iconv_nls_get_state, (cd, ps, direction),
- iconv_t cd _AND
- mbstate_t *ps _AND
- int direction)
-{
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
-
- ic->handlers->get_state (ic->data, ps, direction);
-
- return;
-}
-
-/*
- * _iconv_nls_set_state -- set encoding's current shift state value.
- *
- * PARAMETERS:
- * iconv_t cd - iconv descriptor;
- * mbstate_t *ps - where to save shift state.
- * int direction - "from" encoding if 0, "to" encoding if 1.
- *
- * DESCRIPTION:
- * Set encoding's current shift state.
- *
- * RETURN:
- * 0 if success, -1 if failure.
- */
-int
-_DEFUN(_iconv_nls_set_state, (cd, ps, direction),
- iconv_t cd _AND
- mbstate_t *ps _AND
- int direction)
-{
- iconv_conversion_t *ic = (iconv_conversion_t *)cd;
-
- return ic->handlers->set_state (ic->data, ps, direction);
-}
-
-/* Same as iconv_open() but don't perform name resolving */
-static iconv_t
-_DEFUN(iconv_open1, (rptr, to, from),
- struct _reent *rptr _AND
- _CONST char *to _AND
- _CONST char *from)
-{
- iconv_conversion_t *ic;
-
- if (to == NULL || from == NULL || *to == '\0' || *from == '\0')
- return (iconv_t)-1;
-
- ic = (iconv_conversion_t *)_malloc_r (rptr, sizeof (iconv_conversion_t));
- if (ic == NULL)
- return (iconv_t)-1;
-
- /* Select which conversion type to use */
- if (strcmp (from, to) == 0)
- {
- /* Use null conversion */
- ic->handlers = &_iconv_null_conversion_handlers;
- ic->data = ic->handlers->open (rptr, to, from);
- }
- else
- {
- /* Use UCS-based conversion */
- ic->handlers = &_iconv_ucs_conversion_handlers;
- ic->data = ic->handlers->open (rptr, to, from);
- }
-
- if (ic->data == NULL)
- {
- _free_r (rptr, (_VOID_PTR)ic);
- return (iconv_t)-1;
- }
-
- return (_VOID_PTR)ic;
-}
-
-/*
- * _iconv_nls_open - open iconv descriptors for NLS.
- *
- * PARAMETERS:
- * struct _reent *rptr - process's reent structure;
- * _CONST char *encoding - encoding name;
- * iconv_t *tomb - wchar -> encoding iconv descriptor pointer;
- * iconv_t *towc - encoding -> wchar iconv descriptor pointer;
- * int flag - perform encoding name resolving flag.
- *
- * DESCRIPTION:
- * Opens two iconv descriptors for 'encoding' -> wchar and
- * wchar -> 'encoding' iconv conversions. Function is used when locale or
- * wide-oriented stream is opened. If 'flag' is 0, don't perform encoding
- * name resolving ('encoding' must not be alias in this case).
- *
- * RETURN:
- * If successful - return 0, else set errno and return -1.
- */
-int
-_DEFUN(_iconv_nls_open, (rptr, encoding, towc, tomb),
- struct _reent *rptr _AND
- _CONST char *encoding _AND
- iconv_t *tomb _AND
- iconv_t *towc _AND
- int flag)
-{
- _CONST char *wchar_encoding;
-
- if (sizeof (wchar_t) > 2 && WCHAR_MAX > 0xFFFF)
- wchar_encoding = "ucs_4_internal";
- else if (sizeof (wchar_t) > 1 && WCHAR_MAX > 0xFF)
- wchar_encoding = "ucs_2_internal";
- else
- wchar_encoding = ""; /* This shuldn't happen */
-
- if (flag)
- {
- if ((*towc = _iconv_open_r (rptr, wchar_encoding, encoding)) == (iconv_t)-1)
- return -1;
-
- if ((*tomb = _iconv_open_r (rptr, encoding, wchar_encoding)) == (iconv_t)-1)
- {
- _iconv_close_r (rptr, *towc);
- return -1;
- }
- }
- else
- {
- if ((*towc = iconv_open1 (rptr, wchar_encoding, encoding)) == (iconv_t)-1)
- return -1;
-
- if ((*tomb = iconv_open1 (rptr, encoding, wchar_encoding)) == (iconv_t)-1)
- {
- _iconv_close_r (rptr, *towc);
- return -1;
- }
- }
-
- return 0;
-}
-
-#endif /* _MB_CAPABLE */
-
diff --git a/newlib/libc/iconv/lib/iconvnls.h b/newlib/libc/iconv/lib/iconvnls.h
deleted file mode 100644
index f6d4866a8..000000000
--- a/newlib/libc/iconv/lib/iconvnls.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __ICONV_ICONVNLS_H__
-#define __ICONV_ICONVNLS_H__
-
-#include <newlib.h>
-
-/*
- * Include ucs-2-internal or ucs-4-internal if Newlib is configured as
- * "multibyte-capable".
- * ============================================================================
- */
-#ifdef _MB_CAPABLE
-/*
- * Determine size of wchar_t. If size of wchar_t is 2, UCS-2-INTERNAL is used
- * as widechar's encoding. If size of wchar_t is 4, UCS-4-INTERNAL is used as
- * widechar's encoding.
- */
-# if WCHAR_MAX > 0xFFFF
-# ifndef _ICONV_FROM_ENCODING_UCS_4_INTERNAL
-# define _ICONV_FROM_ENCODING_UCS_4_INTERNAL
-# endif
-# ifndef _ICONV_TO_ENCODING_UCS_4_INTERNAL
-# define _ICONV_TO_ENCODING_UCS_4_INTERNAL
-# endif
-# elif WCHAR_MAX > 0xFF
-# ifndef _ICONV_FROM_ENCODING_UCS_2_INTERNAL
-# define _ICONV_FROM_ENCODING_UCS_2_INTERNAL
-# endif
-# ifndef _ICONV_TO_ENCODING_UCS_2_INTERNAL
-# define _ICONV_TO_ENCODING_UCS_2_INTERNAL
-# endif
-# else
-# error Do not know how to work with 1 byte widechars.
-# endif
-#endif /* _MB_CAPABLE */
-
-#endif /* !__ICONV_ICONVNLS_H__ */
-
diff --git a/newlib/libc/iconv/lib/local.h b/newlib/libc/iconv/lib/local.h
deleted file mode 100644
index 85f22634c..000000000
--- a/newlib/libc/iconv/lib/local.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef __ICONV_LIB_LOCAL_H__
-#define __ICONV_LIB_LOCAL_H__
-
-#include <_ansi.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <limits.h>
-
-/* void* type for K&R compilers compatibility */
-#define _VOID_PTR _PTR
-
-/* Encodings aliases file */
-#define ICONV_ALIASES_FNAME "encoding.aliases"
-/* iconv CCS data path */
-#define ICONV_SUBDIR "iconv_data"
-/* iconv data files extension */
-#define ICONV_DATA_EXT ".cct"
-
-/* This macro is used to zero mbstate_t objects */
-#define ICONV_ZERO_MB_STATE_T ((mbstate_t){0, {0}})
-
-/* Define the maximum multi-byte character length produced by iconv library */
-#if MB_LEN_MAX < 6
-# define ICONV_MB_LEN_MAX 6
-#else
-# define ICONV_MB_LEN_MAX MB_LEN_MAX
-#endif
-
-/* 16-bit UCS-2 type */
-typedef __uint16_t ucs2_t;
-
-/* 32-bit UCS-4 type */
-typedef __uint32_t ucs4_t;
-
-
-/* The list of built-in encoding names and aliases */
-extern _CONST char *
-_iconv_aliases;
-
-#endif /* !__ICONV_LIB_LOCAL_H__ */
-
diff --git a/newlib/libc/iconv/lib/nullconv.c b/newlib/libc/iconv/lib/nullconv.c
deleted file mode 100644
index d35027f9c..000000000
--- a/newlib/libc/iconv/lib/nullconv.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- * Copyright (c) 1999,2000, Konstantin Chuguev. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <_ansi.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include "local.h"
-#include "conv.h"
-
-static int null_conversion_dummy_data;
-
-
-static _VOID_PTR
-_DEFUN(null_conversion_open, (rptr, to, from),
- struct _reent *rptr _AND
- _CONST char *to _AND
- _CONST char *from)
-{
- return (_VOID_PTR)&null_conversion_dummy_data;
-}
-
-
-static size_t
-_DEFUN(null_conversion_close, (rptr, data),
- struct _reent *rptr _AND
- _VOID_PTR data)
-{
- return 0;
-}
-
-
-static size_t
-_DEFUN(null_conversion_convert,
- (rptr, data, inbuf, inbytesleft, outbuf, outbytesleft),
- struct _reent *rptr _AND
- _VOID_PTR data _AND
- _CONST unsigned char **inbuf _AND
- size_t *inbytesleft _AND
- unsigned char **outbuf _AND
- size_t *outbytesleft _AND
- int flags)
-{
- size_t result;
- size_t len;
-
- if (*inbytesleft < *outbytesleft)
- {
- result = 0;
- len = *inbytesleft;
- }
- else
- {
- result = (size_t)-1;
- len = *outbytesleft;
- __errno_r (rptr) = E2BIG;
- }
-
- if ((flags & 1) == 0)
- memcpy (*outbuf, *inbuf, len);
-
- *inbuf += len;
- *outbuf += len;
- *inbytesleft -= len;
- *outbytesleft -= len;
-
- return result;
-}
-
-
-static int
-_DEFUN(null_conversion_get_mb_cur_max, (data, direction),
- _VOID_PTR data _AND
- int direction)
-{
- return ICONV_MB_LEN_MAX;
-}
-
-
-static _VOID
-_DEFUN(null_conversion_get_state, (data, state, size),
- _VOID_PTR data _AND
- mbstate_t *state _AND
- int direction)
-{
- return;
-}
-
-
-static int
-_DEFUN(null_conversion_set_state, (data, state, direction),
- _VOID_PTR data _AND
- mbstate_t *state _AND
- int direction)
-{
- return 0;
-}
-
-static int
-_DEFUN(null_conversion_is_stateful, (data, direction),
- _VOID_PTR data _AND
- int direction)
-{
- return 0;
-}
-
-/* Null conversion definition object */
-_CONST iconv_conversion_handlers_t
-_iconv_null_conversion_handlers =
-{
- null_conversion_open,
- null_conversion_close,
- null_conversion_convert,
- null_conversion_get_state,
- null_conversion_set_state,
- null_conversion_get_mb_cur_max,
- null_conversion_is_stateful
-};
-
diff --git a/newlib/libc/iconv/lib/ucsconv.c b/newlib/libc/iconv/lib/ucsconv.c
deleted file mode 100644
index 4dab2e19d..000000000
--- a/newlib/libc/iconv/lib/ucsconv.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- * Copyright (c) 1999,2000, Konstantin Chuguev. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <_ansi.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include "local.h"
-#include "conv.h"
-#include "ucsconv.h"
-
-static int fake_data;
-
-static int
-_EXFUN(find_encoding_name, (_CONST char *searchee,
- _CONST char **names));
-
-
-/*
- * UCS-based conversion interface functions implementation.
- */
-
-static _VOID_PTR
-_DEFUN(ucs_based_conversion_open, (rptr, to, from),
- struct _reent *rptr _AND
- _CONST char *to _AND
- _CONST char *from)
-{
- iconv_ucs_conversion_t *uc;
- _CONST iconv_to_ucs_ces_t *to_ucs_bices;
- _CONST iconv_from_ucs_ces_t *from_ucs_bices;
-
- uc = (iconv_ucs_conversion_t *)
- _calloc_r (rptr, 1, sizeof (iconv_ucs_conversion_t));
- if (uc == NULL)
- return NULL;
-
- /*
- * Find CES converter for "from" encoding ("from" source encoding corresponds
- * to "to_ucs" CES converter).
- */
- for (to_ucs_bices = &_iconv_to_ucs_ces[0];
- to_ucs_bices->names != NULL;
- to_ucs_bices++)
- {
- if (find_encoding_name (from, to_ucs_bices->names) == 0)
- break;
- }
-
- /*
- * Find CES converter for "to" encoding ("to" source encoding corresponds
- * to "from_ucs" CES converter).
- */
- for (from_ucs_bices = &_iconv_from_ucs_ces[0];
- from_ucs_bices->names != NULL;
- from_ucs_bices++)
- {
- if (find_encoding_name (to, from_ucs_bices->names) == 0)
- break;
- }
-
- if (to_ucs_bices->names == NULL || from_ucs_bices->names == NULL)
- goto error;
-
- uc->to_ucs.handlers = to_ucs_bices->handlers;
- uc->from_ucs.handlers = from_ucs_bices->handlers;
-
- /* Initialize "to UCS" CES converter */
- if (to_ucs_bices->handlers->init != NULL)
- {
- uc->to_ucs.data = to_ucs_bices->handlers->init (rptr, from);
- if (uc->to_ucs.data == NULL)
- goto error;
- }
- else
- uc->to_ucs.data = (_VOID_PTR)&fake_data;
-
-
- /* Initialize "from UCS" CES converter */
- if (from_ucs_bices->handlers->init != NULL)
- {
- uc->from_ucs.data = from_ucs_bices->handlers->init (rptr, to);
- if (uc->from_ucs.data == NULL)
- goto error;
- }
- else
- uc->from_ucs.data = (_VOID_PTR)&fake_data;
-
- return uc;
-
-error:
- if (uc->to_ucs.data != NULL && uc->to_ucs.handlers->close != NULL)
- uc->to_ucs.handlers->close (rptr, uc->to_ucs.data);
-
- _free_r (rptr, (_VOID_PTR)uc);
-
- return NULL;
-}
-
-
-static size_t
-_DEFUN(ucs_based_conversion_close, (rptr, data),
- struct _reent *rptr _AND
- _VOID_PTR data)
-{
- iconv_ucs_conversion_t *uc;
- size_t res = 0;
-
- uc = (iconv_ucs_conversion_t *)data;
-
- if (uc->from_ucs.handlers->close != NULL)
- res = uc->from_ucs.handlers->close (rptr, uc->from_ucs.data);
- if (uc->to_ucs.handlers->close != NULL)
- res |= uc->to_ucs.handlers->close (rptr, uc->to_ucs.data);
-
- _free_r (rptr, (_VOID_PTR)data);
-
- return res;
-}
-
-
-static size_t
-_DEFUN(ucs_based_conversion_convert,
- (rptr, data, inbuf, inbytesleft, outbuf, outbytesleft, flags),
- struct _reent *rptr _AND
- _VOID_PTR data _AND
- _CONST unsigned char **inbuf _AND
- size_t *inbytesleft _AND
- unsigned char **outbuf _AND
- size_t *outbytesleft _AND
- int flags)
-{
- unsigned char outbuf1[ICONV_MB_LEN_MAX];
- unsigned char *poutbuf1;
- size_t res = 0;
- iconv_ucs_conversion_t *uc = (iconv_ucs_conversion_t *)data;
-
- while (*inbytesleft > 0)
- {
- register size_t bytes;
- register ucs4_t ch;
- _CONST unsigned char *inbuf_save = *inbuf;
- size_t inbyteslef_save = *inbytesleft;
-
- if (*outbytesleft == 0)
- {
- __errno_r (rptr) = E2BIG;
- return (size_t)-1;
- }
-
- ch = uc->to_ucs.handlers->convert_to_ucs (uc->to_ucs.data,
- inbuf, inbytesleft);
-
- if (ch == (ucs4_t)ICONV_CES_BAD_SEQUENCE)
- {
- __errno_r (rptr) = EINVAL;
- return (size_t)-1;
- }
-
- if (ch == (ucs4_t)ICONV_CES_INVALID_CHARACTER)
- {
- __errno_r (rptr) = EILSEQ;
- return (size_t)-1;
- }
-
- if (flags & ICONV_DONT_SAVE_BIT)
- {
- poutbuf1 = &outbuf1[0];
- outbuf = &poutbuf1;
- }
-
- bytes = uc->from_ucs.handlers->convert_from_ucs (uc->from_ucs.data, ch,
- outbuf, outbytesleft);
-
- if (bytes == (size_t)ICONV_CES_NOSPACE)
- {
- *inbuf = inbuf_save;
- *inbytesleft = inbyteslef_save;
- __errno_r (rptr) = E2BIG;
- return (size_t)-1;
- }
- else if (bytes == (size_t)ICONV_CES_INVALID_CHARACTER)
- {
- if (flags & ICONV_FAIL_BIT)
- {
- /* Generate error */
- __errno_r (rptr) = EILSEQ;
- return (size_t)-1;
- }
- /*
- * For this case SUSv3 stands: "if iconv() encounters a character in the
- * input buffer that is valid, but for which an identical character does
- * not exist in the target encoding, iconv() shall perform an
- * implementation-defined conversion on this character".
- * Don't generate error, just write default character.
- */
- bytes = uc->from_ucs.handlers->convert_from_ucs (
- uc->from_ucs.data,
- (ucs4_t)DEFAULT_CHARACTER,
- outbuf,
- outbytesleft);
- if ((__int32_t)bytes < 0)
- {
- __errno_r (rptr) = E2BIG;
- return (size_t)-1;
- }
-
- res += 1;
- }
- }
-
- return res;
-}
-
-
-static int
-_DEFUN(ucs_based_conversion_get_mb_cur_max, (data, direction),
- _VOID_PTR data _AND
- int direction)
-{
- iconv_ucs_conversion_t *uc = (iconv_ucs_conversion_t *)data;
-
- if (direction == 0)
- return uc->to_ucs.handlers->get_mb_cur_max (uc->to_ucs.data);
- else
- return uc->from_ucs.handlers->get_mb_cur_max (uc->from_ucs.data);
-}
-
-
-static _VOID
-_DEFUN(ucs_based_conversion_get_state, (data, state, direction),
- _VOID_PTR data _AND
- mbstate_t *state _AND
- int direction)
-{
- iconv_ucs_conversion_t *uc = (iconv_ucs_conversion_t *)data;
-
- if (direction == 0)
- {
- if (uc->to_ucs.handlers->get_state != NULL)
- uc->to_ucs.handlers->get_state (uc->to_ucs.data, state);
- else
- *state = ICONV_ZERO_MB_STATE_T;
- }
- else
- {
- if (uc->from_ucs.handlers->get_state != NULL)
- uc->from_ucs.handlers->get_state (uc->from_ucs.data, state);
- else
- *state = ICONV_ZERO_MB_STATE_T;
- }
-
- return;
-}
-
-
-static int
-_DEFUN(ucs_based_conversion_set_state, (data, state, direction),
- _VOID_PTR data _AND
- mbstate_t *state _AND
- int direction)
-{
- iconv_ucs_conversion_t *uc = (iconv_ucs_conversion_t *)data;
-
- if (direction == 0)
- {
- if (uc->to_ucs.handlers->set_state != NULL)
- return uc->to_ucs.handlers->set_state (uc->to_ucs.data, state);
- }
- else
- {
- if (uc->from_ucs.handlers->set_state != NULL)
- return uc->from_ucs.handlers->set_state (uc->from_ucs.data, state);
- }
-
- return 0;
-}
-
-static int
-_DEFUN(ucs_based_conversion_is_stateful, (data, direction),
- _VOID_PTR data _AND
- int direction)
-{
- iconv_ucs_conversion_t *uc = (iconv_ucs_conversion_t *)data;
-
- if (direction == 0)
- {
- if (uc->to_ucs.handlers->is_stateful != NULL)
- return uc->to_ucs.handlers->is_stateful (uc->to_ucs.data);
- }
- else
- {
- if (uc->from_ucs.handlers->is_stateful != NULL)
- return uc->from_ucs.handlers->is_stateful (uc->from_ucs.data);
- }
-
- return 0;
-}
-
-
-/* UCS-based conversion definition object */
-_CONST iconv_conversion_handlers_t
-_iconv_ucs_conversion_handlers =
-{
- ucs_based_conversion_open,
- ucs_based_conversion_close,
- ucs_based_conversion_convert,
- ucs_based_conversion_get_state,
- ucs_based_conversion_set_state,
- ucs_based_conversion_get_mb_cur_max,
- ucs_based_conversion_is_stateful
-};
-
-
-/*
- * Supplementary functions.
- */
-
-static int
-_DEFUN(find_encoding_name, (searchee, names),
- _CONST char *searchee _AND
- _CONST char **names)
-{
- _CONST char *p;
-
- for (p = *names; p != NULL; p = *(names++))
- if (strcmp (p, searchee) == 0)
- return 0;
-
- return -1;
-}
-
diff --git a/newlib/libc/iconv/lib/ucsconv.h b/newlib/libc/iconv/lib/ucsconv.h
deleted file mode 100644
index 3c39f39d3..000000000
--- a/newlib/libc/iconv/lib/ucsconv.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 2003-2004, Artem B. Bityuckiy
- * Copyright (c) 1999,2000, Konstantin Chuguev. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef __ICONV_UCS_CONVERSION_H__
-#define __ICONV_UCS_CONVERSION_H__
-
-#include <_ansi.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <wchar.h>
-#include "local.h"
-
-/* No enough space in output buffer */
-#define ICONV_CES_NOSPACE 0
-/* Invalid input character */
-#define ICONV_CES_INVALID_CHARACTER -1
-/* No corespondent character in destination encoding */
-#define ICONV_CES_BAD_SEQUENCE -2
-/* All unknown characters are marked by this code */
-#define DEFAULT_CHARACTER 0x3f /* ASCII '?' */
-
-
-/*
- * iconv_to_ucs_ces_handlers_t - "to UCS" CES converter handlers.
- *
- * Structure contains function pointers which should be provided by
- * "to_ucs" CES converter.
- *
- * ============================================================================
- */
-typedef struct
-{
- /*
- * init - initialize CES converter.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process;
- * _CONST char *encoding - encoding name.
- *
- * DESCRIPTION:
- * Initializes CES converter. CES converter may deal with a series of
- * encodings, such as Table or EUC CES converters. 'encoding' parameter
- * indicates which encoding CES converter should use.
- *
- * RETURN:
- * Returns CES-specific data pointer if success. In case of error returns
- * NULL and sets current thread's/process's errno.
- */
- _VOID_PTR _EXPARM(init, (struct _reent *rptr,
- _CONST char *encoding));
-
- /*
- * close - close CES converter.
- *
- * PARAMETERS:
- * struct _reent *rptr - reent structure of current thread/process;
- * _VOID_PTR data - CES converter-specific data.
- *
- * DESCRIPTION:
- * Preforms CES converter closing. *
- * RETURN:
- * Returns (size_t)0 if success. In case of error returns (size_t)-1 and
- * sets current thread's/process's errno.
- */
- size_t _EXPARM(close, (struct _reent *rptr,
- _VOID_PTR data));
-
- /*
- * get_mb_cur_max - get maximum character length in bytes.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- *
- * DESCRIPTION:
- * Returns encoding's maximum character length.
- */
- int _EXPARM(get_mb_cur_max, (_VOID_PTR data));
-
- /*
- * get_state - get current shift state.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- * mbstate_t *state - mbstate_t object where shift state will be stored;
- *
- * DESCRIPTION:
- * Returns encoding's current shift sequence.
- */
- _VOID _EXPARM(get_state, (_VOID_PTR data,
- mbstate_t *state));
-
- /*
- * set_state - set shift state.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- * mbstate_t *state - mbstate_t value to which shift state will be set.
- *
- * DESCRIPTION:
- * Sets encoding's current shift state to 'state'. if 'state'
- * object is zero-object - reset current shift state.
- * Returns 0 if '*state' object has right format, -1 else.
- */
- int _EXPARM(set_state, (_VOID_PTR data,
- mbstate_t *state));
-
- /*
- * is_stateful - is encoding stateful state.
- *
- * PARAMETERS:
- * _VOID_PTR data - conversion-specific data;
- *
- * DESCRIPTION:
- * Returns 0 if encoding is stateless, else returns 1.
- */
- int _EXPARM(is_stateful, (_VOID_PTR data));
-
- /*
- * convert_to_ucs - convert character to UCS.
- *
- * PARAMETERS:
- * _VOID_PTR data - CES converter-specific data;
- * _CONST unsigned char **inbuf - buffer with input character byte sequence;
- * size_t *inbytesleft - output buffer bytes count.
- *
- * DESCRIPTION:
- * Converts input characters into UCS encoding. 'inbuf' is
- * incremented accordingly. 'bytesleft' is decremented accordingly. Should
- * be provided by correspondent CES module.
- *
- * RETURN:
- * Returns resulting UCS code if success. If input character is invalid,
- * returns ICONV_CES_INVALID_CHARACTER. If invalid or incomplete bytes
- * sequence was met, returns ICONV_CES_BAD_SEQUENCE.
- */
- ucs4_t _EXPARM(convert_to_ucs, (_VOID_PTR data,
- _CONST unsigned char **inbuf,
- size_t *inbytesleft));
-} iconv_to_ucs_ces_handlers_t;
-
-
-/*
- * iconv_from_ucs_ces_handlers_t - "from UCS" CES converter handlers.
- *
- * Structure contains function pointers which should be provided by
- * "from_ucs" CES converter.
- *
- * ============================================================================
- */
-typedef struct
-{
- /* Same as in iconv_to_ucs_ces_handlers_t */
- _VOID_PTR _EXPARM(init, (struct _reent *rptr,
- _CONST char *encoding));
-
- /* Same as in iconv_to_ucs_ces_handlers_t */
- size_t _EXPARM(close, (struct _reent *rptr,
- _VOID_PTR data));
-
- /* Same as in iconv_to_ucs_ces_handlers_t */
- int _EXPARM(get_mb_cur_max, (_VOID_PTR data));
-
- /* Same as in iconv_to_ucs_ces_handlers_t */
- _VOID _EXPARM(get_state, (_VOID_PTR data,
- mbstate_t *state));
-
- /* Same as in iconv_to_ucs_ces_handlers_t */
- int _EXPARM(set_state, (_VOID_PTR data,
- mbstate_t *state));
-
- /* Same as in iconv_to_ucs_ces_handlers_t */
- int _EXPARM(is_stateful, (_VOID_PTR data));
-
- /*
- * convert_from_ucs - convert UCS character to destination encoding.
- *
- * PARAMETERS:
- * _VOID_PTR data - CES converter-specific data;
- * ucs4_t in - input UCS-4 character;
- * unsigned char **outbuf - output buffer for the result;
- * size_t *outbytesleft - output buffer bytes count.
- *
- * DESCRIPTION:
- * Converts input UCS characters to destination encoding and stores result
- * in 'outbuf' if there is sufficient free space present. 'outbuf' is
- * incremented accordingly. 'outbytesleft' is decremented accordingly. Should
- * be provided by correspondent CES module.
- * Output buffer always has at least 1 byte.
- *
- * RETURN:
- * Returns number of bytes that was written into output buffer if success.
- * If there is no enough space in output buffer, returns ICONV_CES_NOSPACE.
- * If there is no corresponding character in destination encoding, returns
- * ICONV_CES_INVALID_CHARACTER.
- */
- size_t _EXPARM(convert_from_ucs, (_VOID_PTR data,
- ucs4_t in,
- unsigned char **outbuf,
- size_t *outbytesleft));
-} iconv_from_ucs_ces_handlers_t;
-
-
-/*
- * iconv_to_ucs_ces_desc_t - "to UCS" CES converter definition structure for
- * usage in iconv_ucs_conversion_t conversion description structure.
- *
- * ============================================================================
- */
-typedef struct
-{
- /* CES converter handlers */
- _CONST iconv_to_ucs_ces_handlers_t *handlers;
-
- /* "to_ucs" CES converter-specific data. */
- _VOID_PTR data;
-} iconv_to_ucs_ces_desc_t;
-
-
-/*
- * iconv_from_ucs_ces_desc_t - "from UCS" CES converter definition structure for
- * usage in iconv_ucs_conversion_t conversion description structure.
- *
- * ============================================================================
- */
-typedef struct
-{
- /* CES converter handlers */
- _CONST iconv_from_ucs_ces_handlers_t *handlers;
-
- /* "from_ucs" CES converter-specific data. */
- _VOID_PTR data;
-} iconv_from_ucs_ces_desc_t;
-
-
-/*
- * iconv_ucs_conversion_t - UCS-based conversion definition structure.
- *
- * Defines special type of conversion where every character is first
- * converted into UCS-4 (UCS-2 for table-driven), and after this the
- * resulting UCS character is converted to destination encoding.
- * UCS-based conversion is composed of two *converters*, defined by
- * iconv_ces_t structure. The iconv_ucs_conversion_t object is referred
- * from iconv_conversion_t object using 'data' field.
- *
- * Structure contains two objects - 'to_ucs' and 'from_ucs' which define
- * "source encoding to UCS" and "UCS to destination encoding" converters.
- *
- * ============================================================================
- */
-typedef struct
-{
- /* Source encoding -> CES converter. */
- iconv_to_ucs_ces_desc_t to_ucs;
-
- /* UCS -> destination encoding CES converter. */
- iconv_from_ucs_ces_desc_t from_ucs;
-} iconv_ucs_conversion_t;
-
-
-/*
- * iconv_to_ucs_ces_t - defines "to UCS" CES converter.
- *
- * ============================================================================
- */
-typedef struct
-{
- /*
- * An array of encodings names, supported by CES converter.
- * The end of array should be marked by NULL pointer.
- */
- _CONST char **names;
-
- /* CES converter description structure */
- _CONST iconv_to_ucs_ces_handlers_t *handlers;
-} iconv_to_ucs_ces_t;
-
-
-/*
- * iconv_from_ucs_ces_t - defines "from UCS" CES converter.
- *
- * ============================================================================
- */
-typedef struct
-{
- /*
- * An array of encodings names, supported by CES converter.
- * The end of array should be marked by NULL pointer.
- */
- _CONST char **names;
-
- /* CES converter description structure */
- _CONST iconv_from_ucs_ces_handlers_t *handlers;
-} iconv_from_ucs_ces_t;
-
-
-/* List of "to UCS" linked-in CES converters. */
-extern _CONST iconv_to_ucs_ces_t
-_iconv_to_ucs_ces[];
-
-/* List of "from UCS" linked-in CES converters. */
-extern _CONST iconv_from_ucs_ces_t
-_iconv_from_ucs_ces[];
-
-#endif /* !__ICONV_UCS_CONVERSION_H__ */
-