diff options
34 files changed, 1388 insertions, 50 deletions
| diff --git a/Makefile.in b/Makefile.in index c5909796d..75428046d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -38,6 +38,7 @@ include $(top_srcdir)libpthread/Makefile.in  include $(top_srcdir)librt/Makefile.in  include $(top_srcdir)libuargp/Makefile.in  include $(top_srcdir)libubacktrace/Makefile.in +include $(top_srcdir)libiconv/Makefile.in  # last included to catch all the objects added by others (locales/threads)  include $(top_srcdir)libc/Makefile.in @@ -278,6 +279,7 @@ HEADERS_RM-$(UCLIBC_HAS_GNU_ERROR)           += error.h  HEADERS_RM-$(UCLIBC_HAS_GETOPT_LONG)         += getopt.h  HEADERS_RM-$(UCLIBC_HAS_IPV6)                += netinet/ip6.h netinet/icmp6.h  HEADERS_RM-$(UCLIBC_HAS_BACKTRACE)           += execinfo.h +HEADERS_RM-$(UCLIBC_HAS_LIBICONV)            += iconv.h  HEADERS_RM-$(UCLIBC_HAS_LOCALE)              += iconv.h bits/uClibc_ctype.h  HEADERS_RM-$(UCLIBC_HAS_PTY)                 += pty.h  HEADERS_RM-$(UCLIBC_HAS_REALTIME)            += mqueue.h bits/mqueue.h sched.h \ @@ -375,6 +377,9 @@ endif  ifeq ($(UCLIBC_HAS_LIBUTIL),y)  EMPTY_LIB_NAMES += util  endif +ifeq ($(UCLIBC_HAS_LIBICONV),y) +EMPTY_LIB_NAMES += iconv +endif  EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a)  $(EMPTY_LIBS): @@ -46,15 +46,18 @@ $(eval $(call add_IS_IN_lib,librt,$(librt-a-y) $(librt-so-y)))  $(eval $(call add_IS_IN_lib,libutil,$(libutil-a-y) $(libutil-so-y)))  $(eval $(call add_IS_IN_lib,libubacktrace,$(libubacktrace-a-y) $(libubacktrace-so-y)))  $(eval $(call add_IS_IN_lib,libuargp,$(libuargp-a-y) $(libuargp-so-y))) +$(eval $(call add_IS_IN_lib,libiconv,$(libiconv-a-y) $(libiconv-so-y)))  shared_objs = $(libc-y:.o=.os) $(libc-shared-y) $(libc-nonshared-y) \  	$(libcrypt-so-y) $(libdl-so-y) $(libm-so-y) \  	$(libpthread-so-y) $(libpthread-nonshared-y) $(libthread_db-so-y) \ -	$(librt-so-y) $(ldso-y) $(libutil-so-y) $(libubacktrace-so-y) $(libuargp-so-y) +	$(librt-so-y) $(ldso-y) $(libutil-so-y) $(libubacktrace-so-y) \ +	$(libuargp-so-y) $(libiconv-so-y)  ar_objs =  $(libc-y) $(libc-static-y) $(libcrypt-a-y) \  	$(libdl-a-y) $(libm-a-y) $(libpthread-a-y) $(libthread_db-a-y) \ -	$(librt-a-y) $(libutil-a-y) $(libubacktrace-a-y) $(libuargp-a-y) +	$(librt-a-y) $(libutil-a-y) $(libubacktrace-a-y) $(libuargp-a-y) \ +	$(libiconv-a-y)  ifeq ($(DOPIC),y)  ar_objs := $(ar_objs:.o=.os)  endif @@ -472,9 +475,12 @@ files.dep := $(libc-a-y) $(libc-so-y) $(libc-nonshared-y) \  	$(START_FILE-libpthread.so) $(END_FILE-libpthread.so) \  	$(PTHREAD_INITFINI:.c=.s) \  	$(librt-a-y) $(librt-so-y) \ -	$(libcrypt-a-y) $(libcrypt-so-y) $(libutil-a-y) $(libutil-so-y) \ +	$(libcrypt-a-y) $(libcrypt-so-y) \ +	$(libutil-a-y) $(libutil-so-y) \  	$(ldso-y) $(libdl-a-y) $(libdl-so-y) \ -	$(libubacktrace-a-y) $(libubacktrace-so-y) $(libuargp-so-y) $(libuargp-a-y) +	$(libubacktrace-a-y) $(libubacktrace-so-y) \ +	$(libuargp-so-y) $(libuargp-a-y) \ +	$(libiconv-so-y) $(libiconv-a-y)  .depends.dep := \  	$(patsubst %.s,%.s.dep,$(filter %.s,$(files.dep))) \  	$(patsubst %.o,%.o.dep,$(filter %.o,$(files.dep))) \ diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index b1ca3fac8..7c83d3004 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1462,6 +1462,11 @@ config UCLIBC_HAS_WCHAR  	  Most people will answer N. +config UCLIBC_HAS_LIBICONV +	bool "Iconv Support" +	help +	  Add tiny iconv support for charset conversion from and to UTF-8. +  config UCLIBC_HAS_LOCALE  	bool "Locale Support"  	select UCLIBC_HAS_WCHAR diff --git a/include/iconv.h b/include/iconv.h index 5ab4c6cb9..dfab27f05 100644 --- a/include/iconv.h +++ b/include/iconv.h @@ -1,59 +1,32 @@ -/* Copyright (C) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ -  #ifndef _ICONV_H -#define _ICONV_H	1 +#define _ICONV_H 1 + +#define _LIBICONV_VERSION 0x010B    /* version number: (major<<8) + minor */ -#include <features.h> -#define __need_size_t  #include <stddef.h> -#ifndef __UCLIBC_HAS_LOCALE__ -#error Attempted to include iconv.h when uClibc was built without locale support. +#ifdef __cplusplus +extern "C" {  #endif +extern int _libiconv_version; /* Likewise */ -__BEGIN_DECLS +typedef long iconv_t; -/* Identifier for conversion method from one codeset to another.  */ -typedef void *iconv_t; +extern iconv_t +iconv_open(const char *tocode, const char *fromcode); +extern size_t +iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, +                  char **outbuf, size_t *outbytesleft); -/* Allocate descriptor for code conversion from codeset FROMCODE to -   codeset TOCODE. +extern int +iconv_close(iconv_t cd); -   This function is a possible cancellation point and therefore not -   marked with __THROW.  */ -extern iconv_t iconv_open (const char *__tocode, const char *__fromcode); +#define libiconv_set_relocation_prefix(...) do {} while(0) -/* Convert at most *INBYTESLEFT bytes from *INBUF according to the -   code conversion algorithm specified by CD and place up to -   *OUTBYTESLEFT bytes in buffer at *OUTBUF.  */ -extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, -		     size_t *__restrict __inbytesleft, -		     char **__restrict __outbuf, -		     size_t *__restrict __outbytesleft); - -/* Free resources allocated for descriptor CD for code conversion. - -   This function is a possible cancellation point and therefore not -   marked with __THROW.  */ -extern int iconv_close (iconv_t __cd); - -__END_DECLS +#ifdef __cplusplus +} +#endif -#endif /* iconv.h */ +#endif /* _ICONV_H */ diff --git a/libc/Makefile.in b/libc/Makefile.in index 3cff9fd23..97addedc5 100644 --- a/libc/Makefile.in +++ b/libc/Makefile.in @@ -50,6 +50,7 @@ libc-a-$(UCLIBC_HAS_ARGP) += $(libuargp-a-y)  libc-a-$(UCLIBC_HAS_THREADS) += $(libpthread-a-y)  libc-a-$(UCLIBC_HAS_REALTIME) += $(librt-a-y)  libc-a-$(UCLIBC_HAS_BACKTRACE) += $(libubacktrace-a-y) +libc-a-$(UCLIBC_HAS_LIBICONV) += $(libiconv-a-y)  libc-so-y = $(libc-y:.o=.os) $(libc-shared-y) @@ -61,6 +62,7 @@ libc-so-$(UCLIBC_HAS_ARGP) += $(libuargp-so-y)  libc-so-$(UCLIBC_HAS_THREADS) += $(libpthread-so-y)  libc-so-$(UCLIBC_HAS_REALTIME) += $(librt-so-y)  libc-so-$(UCLIBC_HAS_BACKTRACE) += $(libubacktrace-so-y) +libc-so-$(UCLIBC_HAS_LIBICONV) += $(libiconv-so-y)  lib-a-y += $(top_builddir)lib/libc.a  lib-gdb-y += $(top_builddir)lib/libc.gdb diff --git a/libiconv/COPYRIGHT b/libiconv/COPYRIGHT new file mode 100644 index 000000000..338241edd --- /dev/null +++ b/libiconv/COPYRIGHT @@ -0,0 +1,19 @@ +Copyright status on all included code: + +All files which have no copyright comments are original works +Copyright (C) 2005-2006 Rich Felker. The decision to exclude such +comments is intentional, as it should be possible to carry around the +complete source code on tiny storage media. All public header files +(include/*) should be treated as Public Domain as they intentionally +contain no content which can be covered by copyright. Some source +modules may fall in this category as well. If you believe that a file +is so trivial that it should be in the Public Domain, please contact +me and, if I agree, I will explicitly release it from copyright. + +Some code has been modified by the OpenWrt project, this includes +the conversion from char map files to C arrays and the iconv.h header +file in particular. + +The library as a whole is licensed under the GNU LGPL version 2.1. + +The original source can be accessed at svn://svn.mplayerhq.hu/libc/trunk diff --git a/libiconv/Makefile b/libiconv/Makefile new file mode 100644 index 000000000..1ffc16ee3 --- /dev/null +++ b/libiconv/Makefile @@ -0,0 +1,9 @@ +# Makefile for uClibc-ng +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + +top_srcdir=../ +top_builddir=../ +include $(top_builddir)Rules.mak +all: libs +include Makefile.in +include $(top_srcdir)Makerules diff --git a/libiconv/Makefile.in b/libiconv/Makefile.in new file mode 100644 index 000000000..3636aa647 --- /dev/null +++ b/libiconv/Makefile.in @@ -0,0 +1,31 @@ +# Makefile for uClibc-ng +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + +subdirs += libiconv + +CFLAGS-libiconv := -DNOT_IN_libc -DIS_IN_libiconv $(SSP_ALL_CFLAGS) \ +		-I$(top_srcdir)libiconv/include + +libiconv_DIR := $(top_srcdir)libiconv +libiconv_OUT := $(top_builddir)libiconv + +libiconv_SRC-$(UCLIBC_HAS_LIBICONV) := iconv.c + +libiconv_SRC := $(addprefix $(libiconv_DIR)/,$(libiconv_SRC-y)) +libiconv_OBJ := $(patsubst $(libiconv_DIR)/%.c,$(libiconv_OUT)/%.o,$(libiconv_SRC)) + +ifeq ($(DOPIC),y) +libiconv-a-y := $(libiconv_OBJ:.o=.os) +else +libiconv-a-y := $(libiconv_OBJ) +endif +libiconv-so-y := $(libiconv_OBJ:.o=.os) + +objclean-y += CLEAN_libiconv + +$(libiconv_OUT)/libiconv.oS: $(libiconv_SRC) +	$(Q)$(RM) $@ +	$(compile-m) + +CLEAN_libiconv: +	$(do_rm) $(addprefix $(libiconv_OUT)/*., o os oS a) diff --git a/libiconv/iconv.c b/libiconv/iconv.c new file mode 100644 index 000000000..cb4e94775 --- /dev/null +++ b/libiconv/iconv.c @@ -0,0 +1,440 @@ +#include <iconv.h> +#include <errno.h> +#include <wchar.h> +#include <string.h> +#include <strings.h> +#include <stdlib.h> +#include <limits.h> + +#include <dirent.h> +#include <fcntl.h> +#include <sys/mman.h> +#include <sys/stat.h> +#include <unistd.h> +#include <stdint.h> + +/* builtin charmaps */ +#include "charmaps.h" + +/* only 0-7 are valid as dest charset */ +#define UTF_16BE    000 +#define UTF_16LE    001 +#define UTF_32BE    002 +#define UTF_32LE    003 +#define WCHAR_T     004 +#define UTF_8       005 +#define US_ASCII    006 +#define LATIN_1     007 + +/* additional charsets with algorithmic conversion */ +#define LATIN_9     010 +#define TIS_620     011 +#define JIS_0201    012 + +/* some programs like php need this */ +int _libiconv_version = _LIBICONV_VERSION; + +/* these must match the constants above */ +static const unsigned char charsets[] = +	"\005" "UTF-8"      "\0" +	"\004" "WCHAR_T"    "\0" +	"\000" "UTF-16BE"   "\0" +	"\001" "UTF-16LE"   "\0" +	"\002" "UTF-32BE"   "\0" +	"\003" "UTF-32LE"   "\0" +	"\006" "ASCII"      "\0" +	"\006" "US-ASCII"   "\0" +	"\007" "ISO-8859-1" "\0" +	"\007" "LATIN1"     "\0" +	"\010" "ISO-8859-15""\0" +	"\010" "LATIN9"     "\0" +	"\011" "ISO-8859-11""\0" +	"\011" "TIS-620"    "\0" +	"\012" "JIS-0201"   "\0" +	"\377"; + +/* separate identifiers for sbcs/dbcs/etc map type */ +#define UCS2_8BIT   000 +#define UCS3_8BIT   001 +#define EUC         002 +#define EUC_TW      003 +#define SHIFT_JIS   004 +#define BIG5        005 +#define GBK         006 + +/* FIXME: these are not implemented yet +// EUC:   A1-FE A1-FE +// GBK:   81-FE 40-7E,80-FE +// Big5:  A1-FE 40-7E,A1-FE +*/ + +static const unsigned short maplen[] = { +	[UCS2_8BIT] = 4+ 2* 128, +	[UCS3_8BIT] = 4+ 3* 128, +	[EUC]       = 4+ 2* 94*94, +	[SHIFT_JIS] = 4+ 2* 94*94, +	[BIG5]      = 4+ 2* 94*157, +	[GBK]       = 4+ 2* 126*190, +	[EUC_TW]    = 4+ 2* 2*94*94, +}; + +static int find_charmap(const char *name) +{ +	int i; +	for (i = 0; i < (sizeof(charmaps) / sizeof(charmaps[0])); i++) +		if (!strcasecmp(charmaps[i].name, name)) +			return i; +	return -1; +} + +static int find_charset(const char *name) +{ +	const unsigned char *s; +	for (s=charsets; *s<0xff && strcasecmp(s+1, name); s+=strlen(s)+1); +	return *s; +} + +iconv_t iconv_open(const char *to, const char *from) +{ +	unsigned f, t; +	int m; + +	if ((t = find_charset(to)) > 8) +		return -1; + +	if ((f = find_charset(from)) < 255) +		return 0 | (t<<1) | (f<<8); + +	if ((m = find_charmap(from)) > -1) +		return 1 | (t<<1) | (m<<8); + +	return -1; +} + +int iconv_close(iconv_t cd) +{ +	return 0; +} + +static inline wchar_t get_16(const unsigned char *s, int endian) +{ +	endian &= 1; +	return s[endian]<<8 | s[endian^1]; +} + +static inline void put_16(unsigned char *s, wchar_t c, int endian) +{ +	endian &= 1; +	s[endian] = c>>8; +	s[endian^1] = c; +} + +static inline int utf8enc_wchar(char *outb, wchar_t c) +{ +	if (c <= 0x7F) { +		*outb = c; +		return 1; +	} +	else if (c <= 0x7FF) { +		*outb++ = ((c >>  6) & 0x1F) | 0xC0; +		*outb++ = ( c        & 0x3F) | 0x80; +		return 2; +	} +	else if (c <= 0xFFFF) { +		*outb++ = ((c >> 12) & 0x0F) | 0xE0; +		*outb++ = ((c >>  6) & 0x3F) | 0x80; +		*outb++ = ( c        & 0x3F) | 0x80; +		return 3; +	} +	else if (c <= 0x10FFFF) { +		*outb++ = ((c >> 18) & 0x07) | 0xF0; +		*outb++ = ((c >> 12) & 0x3F) | 0x80; +		*outb++ = ((c >>  6) & 0x3F) | 0x80; +		*outb++ = ( c        & 0x3F) | 0x80; +		return 4; +	} +	else { +		*outb++ = '?'; +		return 1; +	} +} + +static inline int utf8seq_is_overlong(char *s, int n) +{ +	switch (n) +	{ +	case 2: +		/* 1100000x (10xxxxxx) */ +		return (((*s >> 1) == 0x60) && +				((*(s+1) >> 6) == 0x02)); + +	case 3: +		/* 11100000 100xxxxx (10xxxxxx) */ +		return ((*s == 0xE0) && +				((*(s+1) >> 5) == 0x04) && +				((*(s+2) >> 6) == 0x02)); + +	case 4: +		/* 11110000 1000xxxx (10xxxxxx 10xxxxxx) */ +		return ((*s == 0xF0) && +				((*(s+1) >> 4) == 0x08) && +				((*(s+2) >> 6) == 0x02) && +				((*(s+3) >> 6) == 0x02)); +	} + +	return 0; +} + +static inline int utf8seq_is_surrogate(char *s, int n) +{ +	return ((n == 3) && (*s == 0xED) && (*(s+1) >= 0xA0) && (*(s+1) <= 0xBF)); +} + +static inline int utf8seq_is_illegal(char *s, int n) +{ +	return ((n == 3) && (*s == 0xEF) && (*(s+1) == 0xBF) && +	        (*(s+2) >= 0xBE) && (*(s+2) <= 0xBF)); +} + +static inline int utf8dec_wchar(wchar_t *c, unsigned char *in, size_t inb) +{ +	int i; +	int n = -1; + +	/* trivial char */ +	if (*in <= 0x7F) { +		*c = *in; +		return 1; +	} + +	/* find utf8 sequence length */ +	if      ((*in & 0xE0) == 0xC0) n = 2; +	else if ((*in & 0xF0) == 0xE0) n = 3; +	else if ((*in & 0xF8) == 0xF0) n = 4; +	else if ((*in & 0xFC) == 0xF8) n = 5; +	else if ((*in & 0xFE) == 0xFC) n = 6; + +	/* starved? */ +	if (n > inb) +		return -2; + +	/* decode ... */ +	if (n > 1 && n < 5) { +		/* reject invalid sequences */ +		if (utf8seq_is_overlong(in, n) || +			utf8seq_is_surrogate(in, n) || +			utf8seq_is_illegal(in, n)) +			return -1; + +		/* decode ... */ +		*c = (char)(*in++ & (0x7F >> n)); + +		for (i = 1; i < n; i++) { +			/* illegal continuation byte */ +			if (*in < 0x80 || *in > 0xBF) +				return -1; + +			*c = (*c << 6) | (*in++ & 0x3F); +		} + +		return n; +	} + +	/* unmapped sequence (> 4) */ +	return -1; +} + +static inline char latin9_translit(wchar_t c) +{ +	/* a number of trivial iso-8859-15 <> utf-8 transliterations */ +	switch (c) { +	case 0x20AC: return 0xA4; /* Euro */ +	case 0x0160: return 0xA6; /* S caron */ +	case 0x0161: return 0xA8; /* s caron */ +	case 0x017D: return 0xB4; /* Z caron */ +	case 0x017E: return 0xB8; /* z caron */ +	case 0x0152: return 0xBC; /* OE */ +	case 0x0153: return 0xBD; /* oe */ +	case 0x0178: return 0xBE; /* Y diaeresis */ +	default:     return '?'; +	} +} + +size_t iconv(iconv_t cd, char **in, size_t *inb, char **out, size_t *outb) +{ +	size_t x=0; +	unsigned char to = (cd>>1)&127; +	unsigned char from = 255; +	const unsigned char *map = 0; +	char tmp[MB_LEN_MAX]; +	wchar_t c, d; +	size_t k, l; +	int err; + +	if (!in || !*in || !*inb) return 0; + +	if (cd & 1) +		map = charmaps[cd>>8].map; +	else +		from = cd>>8; + +	for (; *inb; *in+=l, *inb-=l) { +		c = *(unsigned char *)*in; +		l = 1; +		if (from >= UTF_8 && c < 0x80) goto charok; +		switch (from) { +		case WCHAR_T: +			l = sizeof(wchar_t); +			if (*inb < l) goto starved; +			c = *(wchar_t *)*in; +			break; +		case UTF_8: +			l = utf8dec_wchar(&c, *in, *inb); +			if (!l) l++; +			else if (l == (size_t)-1) goto ilseq; +			else if (l == (size_t)-2) goto starved; +			break; +		case US_ASCII: +			goto ilseq; +		case LATIN_9: +			if ((unsigned)c - 0xa4 <= 0xbe - 0xa4) { +				static const unsigned char map[] = { +					0, 0x60, 0, 0x61, 0, 0, 0, 0, 0, 0, 0, +					0, 0, 0, 0, 0x7d, 0, 0, 0, 0x7e, 0, 0, 0, +					0x52, 0x53, 0x78 +				}; +				if (c == 0xa4) c = 0x20ac; +				else if (map[c-0xa5]) c = 0x100 | map[c-0xa5]; +			} +		case LATIN_1: +			goto charok; +		case TIS_620: +			if (c >= 0xa1) c += 0x0e01-0xa1; +			goto charok; +		case JIS_0201: +			if (c >= 0xa1) { +				if (c <= 0xdf) c += 0xff61-0xa1; +				else goto ilseq; +			} +			goto charok; +		case UTF_16BE: +		case UTF_16LE: +			l = 2; +			if (*inb < 2) goto starved; +			c = get_16(*in, from); +			if ((unsigned)(c-0xdc00) < 0x400) goto ilseq; +			if ((unsigned)(c-0xd800) < 0x400) { +				l = 4; +				if (*inb < 4) goto starved; +				d = get_16(*in + 2, from); +				if ((unsigned)(c-0xdc00) >= 0x400) goto ilseq; +				c = ((c-0xd800)<<10) | (d-0xdc00); +			} +			break; +		case UTF_32BE: +		case UTF_32LE: +			l = 4; +			if (*inb < 4) goto starved; +			// FIXME +			// c = get_32(*in, from); +			break; +		default: +			/* only support ascii supersets */ +			if (c < 0x80) break; +			switch (map[0]) { +			case UCS2_8BIT: +				c -= 0x80; +				break; +			case EUC: +				if ((unsigned)c - 0xa1 >= 94) goto ilseq; +				if ((unsigned)in[0][1] - 0xa1 >= 94) goto ilseq; +				c = (c-0xa1)*94 + (in[0][1]-0xa1); +				l = 2; +				break; +			case SHIFT_JIS: +				if ((unsigned)c - 0xa1 <= 0xdf-0xa1) { +					c += 0xff61-0xa1; +					goto charok; +				} +				// FIXME... +				l = 2; +				break; +			default: +				goto badf; +			} +			c = get_16(map + 4 + 2*c, 0); +			if (c == 0xffff) goto ilseq; +			goto charok; +		} + +		if ((unsigned)c - 0xd800 < 0x800 || (unsigned)c >= 0x110000) +			goto ilseq; +charok: +		switch (to) { +		case WCHAR_T: +			if (*outb < sizeof(wchar_t)) goto toobig; +			*(wchar_t *)*out = c; +			*out += sizeof(wchar_t); +			*outb -= sizeof(wchar_t); +			break; +		case UTF_8: +			if (*outb < 4) { +				k = utf8enc_wchar(tmp, c); +				if (*outb < k) goto toobig; +				memcpy(*out, tmp, k); +			} else k = utf8enc_wchar(*out, c); +			*out += k; +			*outb -= k; +			break; +		case US_ASCII: +			if (c > 0x7f) c = 0xfffd; +			/* fall thru and count replacement in latin1 case */ +		case LATIN_9: +			if (c >= 0x100 && c != 0xfffd) +				c = latin9_translit(c); +			/* fall through */ +		case LATIN_1: +			if (!*outb) goto toobig; +			if (c < 0x100) **out = c; +			else x++, **out = '*'; //FIXME: translit? +			++*out; +			--*outb; +			break; +		case UTF_16BE: +		case UTF_16LE: +			if (c < 0x10000) { +				if (*outb < 2) goto toobig; +				put_16(*out, c, to); +				*out += 2; +				*outb -= 2; +				break; +			} +			if (*outb < 4) goto toobig; +			put_16(*out, (c>>10)|0xd800, to); +			put_16(*out + 2, (c&0x3ff)|0xdc00, to); +			*out += 4; +			*outb -= 4; +			break; +		default: +			goto badf; +		} +	} +	return x; +ilseq: +	err = EILSEQ; +	x = -1; +	goto end; +badf: +	err = EBADF; +	x = -1; +	goto end; +toobig: +	err = E2BIG; +	x = -1; +	goto end; +starved: +	err = EINVAL; +end: +	errno = err; +	return x; +} diff --git a/libiconv/include/charmaps.h b/libiconv/include/charmaps.h new file mode 100644 index 000000000..083cd699f --- /dev/null +++ b/libiconv/include/charmaps.h @@ -0,0 +1,80 @@ +#include "charmaps/iso-8859-2.h" +#include "charmaps/iso-8859-10.h" +#include "charmaps/windows-874.h" +#include "charmaps/windows-1250.h" +#include "charmaps/koi8-r.h" + +#ifdef ALL_CHARSETS +#include "charmaps/iso-8859-3.h" +#include "charmaps/iso-8859-4.h" +#include "charmaps/iso-8859-5.h" +#include "charmaps/iso-8859-6.h" +#include "charmaps/iso-8859-7.h" +#include "charmaps/iso-8859-8.h" +#include "charmaps/iso-8859-9.h" +#include "charmaps/iso-8859-13.h" +#include "charmaps/iso-8859-14.h" +#include "charmaps/iso-8859-16.h" +#include "charmaps/windows-1251.h" +#include "charmaps/windows-1252.h" +#include "charmaps/windows-1253.h" +#include "charmaps/windows-1254.h" +#include "charmaps/windows-1255.h" +#include "charmaps/windows-1256.h" +#include "charmaps/windows-1257.h" +#include "charmaps/windows-1258.h" +#endif + + +struct charmap { +	const char name[13]; +	const unsigned char *map; +}; + +static struct charmap charmaps[] = { +	{ "ISO-8859-2",   map_iso_8859_2   }, +	{ "ISO-8859-10",  map_iso_8859_10  }, + +#ifdef ALL_CHARSETS +	{ "ISO-8859-3",   map_iso_8859_3   }, +	{ "ISO-8859-4",   map_iso_8859_4   }, +	{ "ISO-8859-5",   map_iso_8859_5   }, +	{ "ISO-8859-6",   map_iso_8859_6   }, +	{ "ISO-8859-7",   map_iso_8859_7   }, +	{ "ISO-8859-8",   map_iso_8859_8   }, +	{ "ISO-8859-9",   map_iso_8859_9   }, +	{ "ISO-8859-13",  map_iso_8859_13  }, +	{ "ISO-8859-14",  map_iso_8859_14  }, +	{ "ISO-8859-16",  map_iso_8859_16  }, +#endif + +	{ "WINDOWS-874",  map_windows_874  }, +	{ "WINDOWS-1250", map_windows_1250 }, + +#ifdef ALL_CHARSETS +	{ "WINDOWS-1251", map_windows_1251 }, +	{ "WINDOWS-1252", map_windows_1252 }, +	{ "WINDOWS-1253", map_windows_1253 }, +	{ "WINDOWS-1254", map_windows_1254 }, +	{ "WINDOWS-1255", map_windows_1255 }, +	{ "WINDOWS-1256", map_windows_1256 }, +	{ "WINDOWS-1257", map_windows_1257 }, +	{ "WINDOWS-1258", map_windows_1258 }, +#endif + +	{ "KOI8-R",       map_koi8_r       }, + +	/* Aliases */ +	{ "LATIN2",       map_iso_8859_2   }, +	{ "LATIN6",       map_iso_8859_10  }, + +#ifdef ALL_CHARSETS +	{ "ARABIC",       map_iso_8859_6   }, +	{ "CYRILLIC",     map_iso_8859_5   }, +	{ "GREEK",        map_iso_8859_7   }, +	{ "HEBREW",       map_iso_8859_8   }, +	{ "LATIN3",       map_iso_8859_3   }, +	{ "LATIN4",       map_iso_8859_4   }, +	{ "LATIN5",       map_iso_8859_9   }, +#endif +}; diff --git a/libiconv/include/charmaps/iso-8859-10.h b/libiconv/include/charmaps/iso-8859-10.h new file mode 100644 index 000000000..cb93d027d --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-10.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_10[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x01, 0x04, +	0x01, 0x12, 0x01, 0x22, 0x01, 0x2a, 0x01, 0x28, 0x01, 0x36, 0x00, 0xa7, +	0x01, 0x3b, 0x01, 0x10, 0x01, 0x60, 0x01, 0x66, 0x01, 0x7d, 0x00, 0xad, +	0x01, 0x6a, 0x01, 0x4a, 0x00, 0xb0, 0x01, 0x05, 0x01, 0x13, 0x01, 0x23, +	0x01, 0x2b, 0x01, 0x29, 0x01, 0x37, 0x00, 0xb7, 0x01, 0x3c, 0x01, 0x11, +	0x01, 0x61, 0x01, 0x67, 0x01, 0x7e, 0x20, 0x15, 0x01, 0x6b, 0x01, 0x4b, +	0x01, 0x00, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x01, 0x2e, 0x01, 0x0c, 0x00, 0xc9, 0x01, 0x18, 0x00, 0xcb, +	0x01, 0x16, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, 0x01, 0x45, +	0x01, 0x4c, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x01, 0x68, +	0x00, 0xd8, 0x01, 0x72, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, +	0x00, 0xde, 0x00, 0xdf, 0x01, 0x01, 0x00, 0xe1, 0x00, 0xe2, 0x00, 0xe3, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x01, 0x2f, 0x01, 0x0d, 0x00, 0xe9, +	0x01, 0x19, 0x00, 0xeb, 0x01, 0x17, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x00, 0xf0, 0x01, 0x46, 0x01, 0x4d, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, +	0x00, 0xf6, 0x01, 0x69, 0x00, 0xf8, 0x01, 0x73, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x00, 0xfd, 0x00, 0xfe, 0x01, 0x38 +}; diff --git a/libiconv/include/charmaps/iso-8859-13.h b/libiconv/include/charmaps/iso-8859-13.h new file mode 100644 index 000000000..b44d1b434 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-13.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_13[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x20, 0x1d, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x20, 0x1e, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xd8, 0x00, 0xa9, 0x01, 0x56, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xc6, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x20, 0x1c, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xf8, 0x00, 0xb9, +	0x01, 0x57, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xe6, +	0x01, 0x04, 0x01, 0x2e, 0x01, 0x00, 0x01, 0x06, 0x00, 0xc4, 0x00, 0xc5, +	0x01, 0x18, 0x01, 0x12, 0x01, 0x0c, 0x00, 0xc9, 0x01, 0x79, 0x01, 0x16, +	0x01, 0x22, 0x01, 0x36, 0x01, 0x2a, 0x01, 0x3b, 0x01, 0x60, 0x01, 0x43, +	0x01, 0x45, 0x00, 0xd3, 0x01, 0x4c, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, +	0x01, 0x72, 0x01, 0x41, 0x01, 0x5a, 0x01, 0x6a, 0x00, 0xdc, 0x01, 0x7b, +	0x01, 0x7d, 0x00, 0xdf, 0x01, 0x05, 0x01, 0x2f, 0x01, 0x01, 0x01, 0x07, +	0x00, 0xe4, 0x00, 0xe5, 0x01, 0x19, 0x01, 0x13, 0x01, 0x0d, 0x00, 0xe9, +	0x01, 0x7a, 0x01, 0x17, 0x01, 0x23, 0x01, 0x37, 0x01, 0x2b, 0x01, 0x3c, +	0x01, 0x61, 0x01, 0x44, 0x01, 0x46, 0x00, 0xf3, 0x01, 0x4d, 0x00, 0xf5, +	0x00, 0xf6, 0x00, 0xf7, 0x01, 0x73, 0x01, 0x42, 0x01, 0x5b, 0x01, 0x6b, +	0x00, 0xfc, 0x01, 0x7c, 0x01, 0x7e, 0x20, 0x19 +}; diff --git a/libiconv/include/charmaps/iso-8859-14.h b/libiconv/include/charmaps/iso-8859-14.h new file mode 100644 index 000000000..76cead98c --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-14.h @@ -0,0 +1,25 @@ +static const unsigned char map_iso_8859_14[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x1e, 0x02, +	0x1e, 0x03, 0x00, 0xa3, 0x01, 0x0a, 0x01, 0x0b, 0x1e, 0x0a, 0x00, 0xa7, +	0x1e, 0x80, 0x00, 0xa9, 0x1e, 0x82, 0x1e, 0x0b, 0x1e, 0xf2, 0x00, 0xad, +	0x00, 0xae, 0x01, 0x78, 0x1e, 0x1e, 0x1e, 0x1f, 0x01, 0x20, 0x01, 0x21, +	0x1e, 0x40, 0x1e, 0x41, 0x00, 0xb6, 0x1e, 0x56, 0x1e, 0x81, 0x1e, 0x57, +	0x1e, 0x83, 0x1e, 0x60, 0x1e, 0xf3, 0x1e, 0x84, 0x1e, 0x85, 0x1e, 0x61, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x01, 0x74, 0x00, 0xd1, +	0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x1e, 0x6a, +	0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, +	0x01, 0x76, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0x00, 0xe3, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x01, 0x75, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, +	0x00, 0xf6, 0x1e, 0x6b, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x00, 0xfd, 0x01, 0x77, 0x00, 0xff +}; + diff --git a/libiconv/include/charmaps/iso-8859-16.h b/libiconv/include/charmaps/iso-8859-16.h new file mode 100644 index 000000000..4437a41f0 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-16.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_16[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x01, 0x04, +	0x01, 0x05, 0x01, 0x41, 0x20, 0xac, 0x20, 0x1e, 0x01, 0x60, 0x00, 0xa7, +	0x01, 0x61, 0x00, 0xa9, 0x02, 0x18, 0x00, 0xab, 0x01, 0x79, 0x00, 0xad, +	0x01, 0x7a, 0x01, 0x7b, 0x00, 0xb0, 0x00, 0xb1, 0x01, 0x0c, 0x01, 0x42, +	0x01, 0x7d, 0x20, 0x1d, 0x00, 0xb6, 0x00, 0xb7, 0x01, 0x7e, 0x01, 0x0d, +	0x02, 0x19, 0x00, 0xbb, 0x01, 0x52, 0x01, 0x53, 0x01, 0x78, 0x01, 0x7c, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x01, 0x02, 0x00, 0xc4, 0x01, 0x06, +	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x01, 0x10, 0x01, 0x43, +	0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x01, 0x50, 0x00, 0xd6, 0x01, 0x5a, +	0x01, 0x70, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x01, 0x18, +	0x02, 0x1a, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0x01, 0x03, +	0x00, 0xe4, 0x01, 0x07, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x01, 0x11, 0x01, 0x44, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x01, 0x51, +	0x00, 0xf6, 0x01, 0x5b, 0x01, 0x71, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x01, 0x19, 0x02, 0x1b, 0x00, 0xff +}; diff --git a/libiconv/include/charmaps/iso-8859-2.h b/libiconv/include/charmaps/iso-8859-2.h new file mode 100644 index 000000000..631610e17 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-2.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_2[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x01, 0x04, +	0x02, 0xd8, 0x01, 0x41, 0x00, 0xa4, 0x01, 0x3d, 0x01, 0x5a, 0x00, 0xa7, +	0x00, 0xa8, 0x01, 0x60, 0x01, 0x5e, 0x01, 0x64, 0x01, 0x79, 0x00, 0xad, +	0x01, 0x7d, 0x01, 0x7b, 0x00, 0xb0, 0x01, 0x05, 0x02, 0xdb, 0x01, 0x42, +	0x00, 0xb4, 0x01, 0x3e, 0x01, 0x5b, 0x02, 0xc7, 0x00, 0xb8, 0x01, 0x61, +	0x01, 0x5f, 0x01, 0x65, 0x01, 0x7a, 0x02, 0xdd, 0x01, 0x7e, 0x01, 0x7c, +	0x01, 0x54, 0x00, 0xc1, 0x00, 0xc2, 0x01, 0x02, 0x00, 0xc4, 0x01, 0x39, +	0x01, 0x06, 0x00, 0xc7, 0x01, 0x0c, 0x00, 0xc9, 0x01, 0x18, 0x00, 0xcb, +	0x01, 0x1a, 0x00, 0xcd, 0x00, 0xce, 0x01, 0x0e, 0x01, 0x10, 0x01, 0x43, +	0x01, 0x47, 0x00, 0xd3, 0x00, 0xd4, 0x01, 0x50, 0x00, 0xd6, 0x00, 0xd7, +	0x01, 0x58, 0x01, 0x6e, 0x00, 0xda, 0x01, 0x70, 0x00, 0xdc, 0x00, 0xdd, +	0x01, 0x62, 0x00, 0xdf, 0x01, 0x55, 0x00, 0xe1, 0x00, 0xe2, 0x01, 0x03, +	0x00, 0xe4, 0x01, 0x3a, 0x01, 0x07, 0x00, 0xe7, 0x01, 0x0d, 0x00, 0xe9, +	0x01, 0x19, 0x00, 0xeb, 0x01, 0x1b, 0x00, 0xed, 0x00, 0xee, 0x01, 0x0f, +	0x01, 0x11, 0x01, 0x44, 0x01, 0x48, 0x00, 0xf3, 0x00, 0xf4, 0x01, 0x51, +	0x00, 0xf6, 0x00, 0xf7, 0x01, 0x59, 0x01, 0x6f, 0x00, 0xfa, 0x01, 0x71, +	0x00, 0xfc, 0x00, 0xfd, 0x01, 0x63, 0x02, 0xd9 +}; diff --git a/libiconv/include/charmaps/iso-8859-3.h b/libiconv/include/charmaps/iso-8859-3.h new file mode 100644 index 000000000..cd76d59c6 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-3.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_3[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x01, 0x26, +	0x02, 0xd8, 0x00, 0xa3, 0x00, 0xa4, 0xff, 0xff, 0x01, 0x24, 0x00, 0xa7, +	0x00, 0xa8, 0x01, 0x30, 0x01, 0x5e, 0x01, 0x1e, 0x01, 0x34, 0x00, 0xad, +	0xff, 0xff, 0x01, 0x7b, 0x00, 0xb0, 0x01, 0x27, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x01, 0x25, 0x00, 0xb7, 0x00, 0xb8, 0x01, 0x31, +	0x01, 0x5f, 0x01, 0x1f, 0x01, 0x35, 0x00, 0xbd, 0xff, 0xff, 0x01, 0x7c, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0xff, 0xff, 0x00, 0xc4, 0x01, 0x0a, +	0x01, 0x08, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0xff, 0xff, 0x00, 0xd1, +	0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x01, 0x20, 0x00, 0xd6, 0x00, 0xd7, +	0x01, 0x1c, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x01, 0x6c, +	0x01, 0x5c, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0xff, 0xff, +	0x00, 0xe4, 0x01, 0x0b, 0x01, 0x09, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0xff, 0xff, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x01, 0x21, +	0x00, 0xf6, 0x00, 0xf7, 0x01, 0x1d, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x01, 0x6d, 0x01, 0x5d, 0x02, 0xd9 +}; diff --git a/libiconv/include/charmaps/iso-8859-4.h b/libiconv/include/charmaps/iso-8859-4.h new file mode 100644 index 000000000..5db2f7780 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-4.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_4[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x01, 0x04, +	0x01, 0x38, 0x01, 0x56, 0x00, 0xa4, 0x01, 0x28, 0x01, 0x3b, 0x00, 0xa7, +	0x00, 0xa8, 0x01, 0x60, 0x01, 0x12, 0x01, 0x22, 0x01, 0x66, 0x00, 0xad, +	0x01, 0x7d, 0x00, 0xaf, 0x00, 0xb0, 0x01, 0x05, 0x02, 0xdb, 0x01, 0x57, +	0x00, 0xb4, 0x01, 0x29, 0x01, 0x3c, 0x02, 0xc7, 0x00, 0xb8, 0x01, 0x61, +	0x01, 0x13, 0x01, 0x23, 0x01, 0x67, 0x01, 0x4a, 0x01, 0x7e, 0x01, 0x4b, +	0x01, 0x00, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x01, 0x2e, 0x01, 0x0c, 0x00, 0xc9, 0x01, 0x18, 0x00, 0xcb, +	0x01, 0x16, 0x00, 0xcd, 0x00, 0xce, 0x01, 0x2a, 0x01, 0x10, 0x01, 0x45, +	0x01, 0x4c, 0x01, 0x36, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, +	0x00, 0xd8, 0x01, 0x72, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x01, 0x68, +	0x01, 0x6a, 0x00, 0xdf, 0x01, 0x01, 0x00, 0xe1, 0x00, 0xe2, 0x00, 0xe3, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x01, 0x2f, 0x01, 0x0d, 0x00, 0xe9, +	0x01, 0x19, 0x00, 0xeb, 0x01, 0x17, 0x00, 0xed, 0x00, 0xee, 0x01, 0x2b, +	0x01, 0x11, 0x01, 0x46, 0x01, 0x4d, 0x01, 0x37, 0x00, 0xf4, 0x00, 0xf5, +	0x00, 0xf6, 0x00, 0xf7, 0x00, 0xf8, 0x01, 0x73, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x01, 0x69, 0x01, 0x6b, 0x02, 0xd9 +}; diff --git a/libiconv/include/charmaps/iso-8859-5.h b/libiconv/include/charmaps/iso-8859-5.h new file mode 100644 index 000000000..d9fe684a3 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-5.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_5[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x04, 0x01, +	0x04, 0x02, 0x04, 0x03, 0x04, 0x04, 0x04, 0x05, 0x04, 0x06, 0x04, 0x07, +	0x04, 0x08, 0x04, 0x09, 0x04, 0x0a, 0x04, 0x0b, 0x04, 0x0c, 0x00, 0xad, +	0x04, 0x0e, 0x04, 0x0f, 0x04, 0x10, 0x04, 0x11, 0x04, 0x12, 0x04, 0x13, +	0x04, 0x14, 0x04, 0x15, 0x04, 0x16, 0x04, 0x17, 0x04, 0x18, 0x04, 0x19, +	0x04, 0x1a, 0x04, 0x1b, 0x04, 0x1c, 0x04, 0x1d, 0x04, 0x1e, 0x04, 0x1f, +	0x04, 0x20, 0x04, 0x21, 0x04, 0x22, 0x04, 0x23, 0x04, 0x24, 0x04, 0x25, +	0x04, 0x26, 0x04, 0x27, 0x04, 0x28, 0x04, 0x29, 0x04, 0x2a, 0x04, 0x2b, +	0x04, 0x2c, 0x04, 0x2d, 0x04, 0x2e, 0x04, 0x2f, 0x04, 0x30, 0x04, 0x31, +	0x04, 0x32, 0x04, 0x33, 0x04, 0x34, 0x04, 0x35, 0x04, 0x36, 0x04, 0x37, +	0x04, 0x38, 0x04, 0x39, 0x04, 0x3a, 0x04, 0x3b, 0x04, 0x3c, 0x04, 0x3d, +	0x04, 0x3e, 0x04, 0x3f, 0x04, 0x40, 0x04, 0x41, 0x04, 0x42, 0x04, 0x43, +	0x04, 0x44, 0x04, 0x45, 0x04, 0x46, 0x04, 0x47, 0x04, 0x48, 0x04, 0x49, +	0x04, 0x4a, 0x04, 0x4b, 0x04, 0x4c, 0x04, 0x4d, 0x04, 0x4e, 0x04, 0x4f, +	0x21, 0x16, 0x04, 0x51, 0x04, 0x52, 0x04, 0x53, 0x04, 0x54, 0x04, 0x55, +	0x04, 0x56, 0x04, 0x57, 0x04, 0x58, 0x04, 0x59, 0x04, 0x5a, 0x04, 0x5b, +	0x04, 0x5c, 0x00, 0xa7, 0x04, 0x5e, 0x04, 0x5f +}; diff --git a/libiconv/include/charmaps/iso-8859-6.h b/libiconv/include/charmaps/iso-8859-6.h new file mode 100644 index 000000000..820020fd9 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-6.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_6[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0x00, 0xa4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x06, 0x0c, 0x00, 0xad, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x06, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x06, 0x1f, +	0xff, 0xff, 0x06, 0x21, 0x06, 0x22, 0x06, 0x23, 0x06, 0x24, 0x06, 0x25, +	0x06, 0x26, 0x06, 0x27, 0x06, 0x28, 0x06, 0x29, 0x06, 0x2a, 0x06, 0x2b, +	0x06, 0x2c, 0x06, 0x2d, 0x06, 0x2e, 0x06, 0x2f, 0x06, 0x30, 0x06, 0x31, +	0x06, 0x32, 0x06, 0x33, 0x06, 0x34, 0x06, 0x35, 0x06, 0x36, 0x06, 0x37, +	0x06, 0x38, 0x06, 0x39, 0x06, 0x3a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0x06, 0x40, 0x06, 0x41, 0x06, 0x42, 0x06, 0x43, +	0x06, 0x44, 0x06, 0x45, 0x06, 0x46, 0x06, 0x47, 0x06, 0x48, 0x06, 0x49, +	0x06, 0x4a, 0x06, 0x4b, 0x06, 0x4c, 0x06, 0x4d, 0x06, 0x4e, 0x06, 0x4f, +	0x06, 0x50, 0x06, 0x51, 0x06, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; diff --git a/libiconv/include/charmaps/iso-8859-7.h b/libiconv/include/charmaps/iso-8859-7.h new file mode 100644 index 000000000..174f9d3cb --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-7.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_7[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x20, 0x18, +	0x20, 0x19, 0x00, 0xa3, 0x20, 0xac, 0x20, 0xaf, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x03, 0x7a, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0xff, 0xff, 0x20, 0x15, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x03, 0x84, 0x03, 0x85, 0x03, 0x86, 0x00, 0xb7, 0x03, 0x88, 0x03, 0x89, +	0x03, 0x8a, 0x00, 0xbb, 0x03, 0x8c, 0x00, 0xbd, 0x03, 0x8e, 0x03, 0x8f, +	0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 0x03, 0x95, +	0x03, 0x96, 0x03, 0x97, 0x03, 0x98, 0x03, 0x99, 0x03, 0x9a, 0x03, 0x9b, +	0x03, 0x9c, 0x03, 0x9d, 0x03, 0x9e, 0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, +	0xff, 0xff, 0x03, 0xa3, 0x03, 0xa4, 0x03, 0xa5, 0x03, 0xa6, 0x03, 0xa7, +	0x03, 0xa8, 0x03, 0xa9, 0x03, 0xaa, 0x03, 0xab, 0x03, 0xac, 0x03, 0xad, +	0x03, 0xae, 0x03, 0xaf, 0x03, 0xb0, 0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb3, +	0x03, 0xb4, 0x03, 0xb5, 0x03, 0xb6, 0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb9, +	0x03, 0xba, 0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbf, +	0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc2, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, +	0x03, 0xc6, 0x03, 0xc7, 0x03, 0xc8, 0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, +	0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 0xff, 0xff +}; diff --git a/libiconv/include/charmaps/iso-8859-8.h b/libiconv/include/charmaps/iso-8859-8.h new file mode 100644 index 000000000..66d4a5ec1 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-8.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_8[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0xff, 0xff, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x00, 0xd7, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x00, 0xf7, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x17, 0x05, 0xd0, 0x05, 0xd1, 0x05, 0xd2, 0x05, 0xd3, +	0x05, 0xd4, 0x05, 0xd5, 0x05, 0xd6, 0x05, 0xd7, 0x05, 0xd8, 0x05, 0xd9, +	0x05, 0xda, 0x05, 0xdb, 0x05, 0xdc, 0x05, 0xdd, 0x05, 0xde, 0x05, 0xdf, +	0x05, 0xe0, 0x05, 0xe1, 0x05, 0xe2, 0x05, 0xe3, 0x05, 0xe4, 0x05, 0xe5, +	0x05, 0xe6, 0x05, 0xe7, 0x05, 0xe8, 0x05, 0xe9, 0x05, 0xea, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x0e, 0x20, 0x0f, 0xff, 0xff +}; diff --git a/libiconv/include/charmaps/iso-8859-9.h b/libiconv/include/charmaps/iso-8859-9.h new file mode 100644 index 000000000..f1a864606 --- /dev/null +++ b/libiconv/include/charmaps/iso-8859-9.h @@ -0,0 +1,24 @@ +static const unsigned char map_iso_8859_9[] = { +	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, +	0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, +	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, +	0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +	0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, +	0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x00, 0xba, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x01, 0x1e, 0x00, 0xd1, +	0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, +	0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x01, 0x30, +	0x01, 0x5e, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0x00, 0xe3, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x01, 0x1f, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, +	0x00, 0xf6, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x01, 0x31, 0x01, 0x5f, 0x00, 0xff +}; diff --git a/libiconv/include/charmaps/koi8-r.h b/libiconv/include/charmaps/koi8-r.h new file mode 100644 index 000000000..c2453a531 --- /dev/null +++ b/libiconv/include/charmaps/koi8-r.h @@ -0,0 +1,24 @@ +static const unsigned char map_koi8_r[] = { +	0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x25, 0x02, 0x25, 0x0c, 0x25, 0x10, +	0x25, 0x14, 0x25, 0x18, 0x25, 0x1c, 0x25, 0x24, 0x25, 0x2c, 0x25, 0x34, +	0x25, 0x3c, 0x25, 0x80, 0x25, 0x84, 0x25, 0x88, 0x25, 0x8c, 0x25, 0x90, +	0x25, 0x91, 0x25, 0x92, 0x25, 0x93, 0x23, 0x20, 0x25, 0xa0, 0x22, 0x19, +	0x22, 0x1a, 0x22, 0x48, 0x22, 0x64, 0x22, 0x65, 0x00, 0xa0, 0x23, 0x21, +	0x00, 0xb0, 0x00, 0xb2, 0x00, 0xb7, 0x00, 0xf7, 0x25, 0x50, 0x25, 0x51, +	0x25, 0x52, 0x04, 0x51, 0x25, 0x53, 0x25, 0x54, 0x25, 0x55, 0x25, 0x56, +	0x25, 0x57, 0x25, 0x58, 0x25, 0x59, 0x25, 0x5a, 0x25, 0x5b, 0x25, 0x5c, +	0x25, 0x5d, 0x25, 0x5e, 0x25, 0x5f, 0x25, 0x60, 0x25, 0x61, 0x04, 0x01, +	0x25, 0x62, 0x25, 0x63, 0x25, 0x64, 0x25, 0x65, 0x25, 0x66, 0x25, 0x67, +	0x25, 0x68, 0x25, 0x69, 0x25, 0x6a, 0x25, 0x6b, 0x25, 0x6c, 0x00, 0xa9, +	0x04, 0x4e, 0x04, 0x30, 0x04, 0x31, 0x04, 0x46, 0x04, 0x34, 0x04, 0x35, +	0x04, 0x44, 0x04, 0x33, 0x04, 0x45, 0x04, 0x38, 0x04, 0x39, 0x04, 0x3a, +	0x04, 0x3b, 0x04, 0x3c, 0x04, 0x3d, 0x04, 0x3e, 0x04, 0x3f, 0x04, 0x4f, +	0x04, 0x40, 0x04, 0x41, 0x04, 0x42, 0x04, 0x43, 0x04, 0x36, 0x04, 0x32, +	0x04, 0x4c, 0x04, 0x4b, 0x04, 0x37, 0x04, 0x48, 0x04, 0x4d, 0x04, 0x49, +	0x04, 0x47, 0x04, 0x4a, 0x04, 0x2e, 0x04, 0x10, 0x04, 0x11, 0x04, 0x26, +	0x04, 0x14, 0x04, 0x15, 0x04, 0x24, 0x04, 0x13, 0x04, 0x25, 0x04, 0x18, +	0x04, 0x19, 0x04, 0x1a, 0x04, 0x1b, 0x04, 0x1c, 0x04, 0x1d, 0x04, 0x1e, +	0x04, 0x1f, 0x04, 0x2f, 0x04, 0x20, 0x04, 0x21, 0x04, 0x22, 0x04, 0x23, +	0x04, 0x16, 0x04, 0x12, 0x04, 0x2c, 0x04, 0x2b, 0x04, 0x17, 0x04, 0x28, +	0x04, 0x2d, 0x04, 0x29, 0x04, 0x27, 0x04, 0x2a +}; diff --git a/libiconv/include/charmaps/windows-1250.h b/libiconv/include/charmaps/windows-1250.h new file mode 100644 index 000000000..8e4723e48 --- /dev/null +++ b/libiconv/include/charmaps/windows-1250.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1250[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0xff, 0xff, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0xff, 0xff, 0x20, 0x30, +	0x01, 0x60, 0x20, 0x39, 0x01, 0x5a, 0x01, 0x64, 0x01, 0x7d, 0x01, 0x79, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0xff, 0xff, 0x21, 0x22, 0x01, 0x61, 0x20, 0x3a, +	0x01, 0x5b, 0x01, 0x65, 0x01, 0x7e, 0x01, 0x7a, 0x00, 0xa0, 0x02, 0xc7, +	0x02, 0xd8, 0x01, 0x41, 0x00, 0xa4, 0x01, 0x04, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x01, 0x5e, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x01, 0x7b, 0x00, 0xb0, 0x00, 0xb1, 0x02, 0xdb, 0x01, 0x42, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x01, 0x05, +	0x01, 0x5f, 0x00, 0xbb, 0x01, 0x3d, 0x02, 0xdd, 0x01, 0x3e, 0x01, 0x7c, +	0x01, 0x54, 0x00, 0xc1, 0x00, 0xc2, 0x01, 0x02, 0x00, 0xc4, 0x01, 0x39, +	0x01, 0x06, 0x00, 0xc7, 0x01, 0x0c, 0x00, 0xc9, 0x01, 0x18, 0x00, 0xcb, +	0x01, 0x1a, 0x00, 0xcd, 0x00, 0xce, 0x01, 0x0e, 0x01, 0x10, 0x01, 0x43, +	0x01, 0x47, 0x00, 0xd3, 0x00, 0xd4, 0x01, 0x50, 0x00, 0xd6, 0x00, 0xd7, +	0x01, 0x58, 0x01, 0x6e, 0x00, 0xda, 0x01, 0x70, 0x00, 0xdc, 0x00, 0xdd, +	0x01, 0x62, 0x00, 0xdf, 0x01, 0x55, 0x00, 0xe1, 0x00, 0xe2, 0x01, 0x03, +	0x00, 0xe4, 0x01, 0x3a, 0x01, 0x07, 0x00, 0xe7, 0x01, 0x0d, 0x00, 0xe9, +	0x01, 0x19, 0x00, 0xeb, 0x01, 0x1b, 0x00, 0xed, 0x00, 0xee, 0x01, 0x0f, +	0x01, 0x11, 0x01, 0x44, 0x01, 0x48, 0x00, 0xf3, 0x00, 0xf4, 0x01, 0x51, +	0x00, 0xf6, 0x00, 0xf7, 0x01, 0x59, 0x01, 0x6f, 0x00, 0xfa, 0x01, 0x71, +	0x00, 0xfc, 0x00, 0xfd, 0x01, 0x63, 0x02, 0xd9 +}; diff --git a/libiconv/include/charmaps/windows-1251.h b/libiconv/include/charmaps/windows-1251.h new file mode 100644 index 000000000..e27885072 --- /dev/null +++ b/libiconv/include/charmaps/windows-1251.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1251[] = { +	0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x04, 0x03, 0x20, 0x1a, 0x04, 0x53, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0x20, 0xac, 0x20, 0x30, +	0x04, 0x09, 0x20, 0x39, 0x04, 0x0a, 0x04, 0x0c, 0x04, 0x0b, 0x04, 0x0f, +	0x04, 0x52, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0xff, 0xff, 0x21, 0x22, 0x04, 0x59, 0x20, 0x3a, +	0x04, 0x5a, 0x04, 0x5c, 0x04, 0x5b, 0x04, 0x5f, 0x00, 0xa0, 0x04, 0x0e, +	0x04, 0x5e, 0x04, 0x08, 0x00, 0xa4, 0x04, 0x90, 0x00, 0xa6, 0x00, 0xa7, +	0x04, 0x01, 0x00, 0xa9, 0x04, 0x04, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x04, 0x07, 0x00, 0xb0, 0x00, 0xb1, 0x04, 0x06, 0x04, 0x56, +	0x04, 0x91, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x04, 0x51, 0x21, 0x16, +	0x04, 0x54, 0x00, 0xbb, 0x04, 0x58, 0x04, 0x05, 0x04, 0x55, 0x04, 0x57, +	0x04, 0x10, 0x04, 0x11, 0x04, 0x12, 0x04, 0x13, 0x04, 0x14, 0x04, 0x15, +	0x04, 0x16, 0x04, 0x17, 0x04, 0x18, 0x04, 0x19, 0x04, 0x1a, 0x04, 0x1b, +	0x04, 0x1c, 0x04, 0x1d, 0x04, 0x1e, 0x04, 0x1f, 0x04, 0x20, 0x04, 0x21, +	0x04, 0x22, 0x04, 0x23, 0x04, 0x24, 0x04, 0x25, 0x04, 0x26, 0x04, 0x27, +	0x04, 0x28, 0x04, 0x29, 0x04, 0x2a, 0x04, 0x2b, 0x04, 0x2c, 0x04, 0x2d, +	0x04, 0x2e, 0x04, 0x2f, 0x04, 0x30, 0x04, 0x31, 0x04, 0x32, 0x04, 0x33, +	0x04, 0x34, 0x04, 0x35, 0x04, 0x36, 0x04, 0x37, 0x04, 0x38, 0x04, 0x39, +	0x04, 0x3a, 0x04, 0x3b, 0x04, 0x3c, 0x04, 0x3d, 0x04, 0x3e, 0x04, 0x3f, +	0x04, 0x40, 0x04, 0x41, 0x04, 0x42, 0x04, 0x43, 0x04, 0x44, 0x04, 0x45, +	0x04, 0x46, 0x04, 0x47, 0x04, 0x48, 0x04, 0x49, 0x04, 0x4a, 0x04, 0x4b, +	0x04, 0x4c, 0x04, 0x4d, 0x04, 0x4e, 0x04, 0x4f +}; diff --git a/libiconv/include/charmaps/windows-1252.h b/libiconv/include/charmaps/windows-1252.h new file mode 100644 index 000000000..a6dad8a05 --- /dev/null +++ b/libiconv/include/charmaps/windows-1252.h @@ -0,0 +1,25 @@ +static const unsigned char map_windows_1252[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0x01, 0x92, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0x02, 0xc6, 0x20, 0x30, +	0x01, 0x60, 0x20, 0x39, 0x01, 0x52, 0xff, 0xff, 0x01, 0x7d, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0x02, 0xdc, 0x21, 0x22, 0x01, 0x61, 0x20, 0x3a, +	0x01, 0x53, 0xff, 0xff, 0x01, 0x7e, 0x01, 0x78, 0x00, 0xa0, 0x00, 0xa1, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x00, 0xba, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd1, +	0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, +	0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, +	0x00, 0xde, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0x00, 0xe3, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x00, 0xf0, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, +	0x00, 0xf6, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff +}; + diff --git a/libiconv/include/charmaps/windows-1253.h b/libiconv/include/charmaps/windows-1253.h new file mode 100644 index 000000000..b0bdf1eb3 --- /dev/null +++ b/libiconv/include/charmaps/windows-1253.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1253[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0x01, 0x92, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0xff, 0xff, 0x20, 0x30, +	0xff, 0xff, 0x20, 0x39, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0xff, 0xff, 0x21, 0x22, 0xff, 0xff, 0x20, 0x3a, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xa0, 0x03, 0x85, +	0x03, 0x86, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0xff, 0xff, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x20, 0x15, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x03, 0x84, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x03, 0x88, 0x03, 0x89, +	0x03, 0x8a, 0x00, 0xbb, 0x03, 0x8c, 0x00, 0xbd, 0x03, 0x8e, 0x03, 0x8f, +	0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 0x03, 0x95, +	0x03, 0x96, 0x03, 0x97, 0x03, 0x98, 0x03, 0x99, 0x03, 0x9a, 0x03, 0x9b, +	0x03, 0x9c, 0x03, 0x9d, 0x03, 0x9e, 0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, +	0xff, 0xff, 0x03, 0xa3, 0x03, 0xa4, 0x03, 0xa5, 0x03, 0xa6, 0x03, 0xa7, +	0x03, 0xa8, 0x03, 0xa9, 0x03, 0xaa, 0x03, 0xab, 0x03, 0xac, 0x03, 0xad, +	0x03, 0xae, 0x03, 0xaf, 0x03, 0xb0, 0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb3, +	0x03, 0xb4, 0x03, 0xb5, 0x03, 0xb6, 0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb9, +	0x03, 0xba, 0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbf, +	0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc2, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, +	0x03, 0xc6, 0x03, 0xc7, 0x03, 0xc8, 0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, +	0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 0xff, 0xff +}; diff --git a/libiconv/include/charmaps/windows-1254.h b/libiconv/include/charmaps/windows-1254.h new file mode 100644 index 000000000..be2260079 --- /dev/null +++ b/libiconv/include/charmaps/windows-1254.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1254[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0x01, 0x92, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0x02, 0xc6, 0x20, 0x30, +	0x01, 0x60, 0x20, 0x39, 0x01, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0x02, 0xdc, 0x21, 0x22, 0x01, 0x61, 0x20, 0x3a, +	0x01, 0x53, 0xff, 0xff, 0xff, 0xff, 0x01, 0x78, 0x00, 0xa0, 0x00, 0xa1, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x00, 0xba, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x01, 0x1e, 0x00, 0xd1, +	0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, +	0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x01, 0x30, +	0x01, 0x5e, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0x00, 0xe3, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x01, 0x1f, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, +	0x00, 0xf6, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x01, 0x31, 0x01, 0x5f, 0x00, 0xff +}; diff --git a/libiconv/include/charmaps/windows-1255.h b/libiconv/include/charmaps/windows-1255.h new file mode 100644 index 000000000..28bf513d4 --- /dev/null +++ b/libiconv/include/charmaps/windows-1255.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1255[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0x01, 0x92, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0x02, 0xc6, 0x20, 0x30, +	0xff, 0xff, 0x20, 0x39, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0x02, 0xdc, 0x21, 0x22, 0xff, 0xff, 0x20, 0x3a, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xa0, 0x00, 0xa1, +	0x00, 0xa2, 0x00, 0xa3, 0x20, 0xaa, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x00, 0xd7, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x00, 0xf7, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, +	0x05, 0xb0, 0x05, 0xb1, 0x05, 0xb2, 0x05, 0xb3, 0x05, 0xb4, 0x05, 0xb5, +	0x05, 0xb6, 0x05, 0xb7, 0x05, 0xb8, 0x05, 0xb9, 0xff, 0xff, 0x05, 0xbb, +	0x05, 0xbc, 0x05, 0xbd, 0x05, 0xbe, 0x05, 0xbf, 0x05, 0xc0, 0x05, 0xc1, +	0x05, 0xc2, 0x05, 0xc3, 0x05, 0xf0, 0x05, 0xf1, 0x05, 0xf2, 0x05, 0xf3, +	0x05, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0x05, 0xd0, 0x05, 0xd1, 0x05, 0xd2, 0x05, 0xd3, +	0x05, 0xd4, 0x05, 0xd5, 0x05, 0xd6, 0x05, 0xd7, 0x05, 0xd8, 0x05, 0xd9, +	0x05, 0xda, 0x05, 0xdb, 0x05, 0xdc, 0x05, 0xdd, 0x05, 0xde, 0x05, 0xdf, +	0x05, 0xe0, 0x05, 0xe1, 0x05, 0xe2, 0x05, 0xe3, 0x05, 0xe4, 0x05, 0xe5, +	0x05, 0xe6, 0x05, 0xe7, 0x05, 0xe8, 0x05, 0xe9, 0x05, 0xea, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x0e, 0x20, 0x0f, 0xff, 0xff +}; diff --git a/libiconv/include/charmaps/windows-1256.h b/libiconv/include/charmaps/windows-1256.h new file mode 100644 index 000000000..fbca315ef --- /dev/null +++ b/libiconv/include/charmaps/windows-1256.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1256[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0x06, 0x7e, 0x20, 0x1a, 0x01, 0x92, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0x02, 0xc6, 0x20, 0x30, +	0x06, 0x79, 0x20, 0x39, 0x01, 0x52, 0x06, 0x86, 0x06, 0x98, 0x06, 0x88, +	0x06, 0xaf, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0x06, 0xa9, 0x21, 0x22, 0x06, 0x91, 0x20, 0x3a, +	0x01, 0x53, 0x20, 0x0c, 0x20, 0x0d, 0x06, 0xba, 0x00, 0xa0, 0x06, 0x0c, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x06, 0xbe, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x06, 0x1b, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x06, 0x1f, +	0x06, 0xc1, 0x06, 0x21, 0x06, 0x22, 0x06, 0x23, 0x06, 0x24, 0x06, 0x25, +	0x06, 0x26, 0x06, 0x27, 0x06, 0x28, 0x06, 0x29, 0x06, 0x2a, 0x06, 0x2b, +	0x06, 0x2c, 0x06, 0x2d, 0x06, 0x2e, 0x06, 0x2f, 0x06, 0x30, 0x06, 0x31, +	0x06, 0x32, 0x06, 0x33, 0x06, 0x34, 0x06, 0x35, 0x06, 0x36, 0x00, 0xd7, +	0x06, 0x37, 0x06, 0x38, 0x06, 0x39, 0x06, 0x3a, 0x06, 0x40, 0x06, 0x41, +	0x06, 0x42, 0x06, 0x43, 0x00, 0xe0, 0x06, 0x44, 0x00, 0xe2, 0x06, 0x45, +	0x06, 0x46, 0x06, 0x47, 0x06, 0x48, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x06, 0x49, 0x06, 0x4a, 0x00, 0xee, 0x00, 0xef, +	0x06, 0x4b, 0x06, 0x4c, 0x06, 0x4d, 0x06, 0x4e, 0x00, 0xf4, 0x06, 0x4f, +	0x06, 0x50, 0x00, 0xf7, 0x06, 0x51, 0x00, 0xf9, 0x06, 0x52, 0x00, 0xfb, +	0x00, 0xfc, 0x20, 0x0e, 0x20, 0x0f, 0x06, 0xd2 +}; diff --git a/libiconv/include/charmaps/windows-1257.h b/libiconv/include/charmaps/windows-1257.h new file mode 100644 index 000000000..69d4474bc --- /dev/null +++ b/libiconv/include/charmaps/windows-1257.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1257[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0xff, 0xff, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0xff, 0xff, 0x20, 0x30, +	0xff, 0xff, 0x20, 0x39, 0xff, 0xff, 0x00, 0xa8, 0x02, 0xc7, 0x00, 0xb8, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0xff, 0xff, 0x21, 0x22, 0xff, 0xff, 0x20, 0x3a, +	0xff, 0xff, 0x00, 0xaf, 0x02, 0xdb, 0xff, 0xff, 0x00, 0xa0, 0xff, 0xff, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0xff, 0xff, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xd8, 0x00, 0xa9, 0x01, 0x56, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xc6, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xf8, 0x00, 0xb9, +	0x01, 0x57, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xe6, +	0x01, 0x04, 0x01, 0x2e, 0x01, 0x00, 0x01, 0x06, 0x00, 0xc4, 0x00, 0xc5, +	0x01, 0x18, 0x01, 0x12, 0x01, 0x0c, 0x00, 0xc9, 0x01, 0x79, 0x01, 0x16, +	0x01, 0x22, 0x01, 0x36, 0x01, 0x2a, 0x01, 0x3b, 0x01, 0x60, 0x01, 0x43, +	0x01, 0x45, 0x00, 0xd3, 0x01, 0x4c, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, +	0x01, 0x72, 0x01, 0x41, 0x01, 0x5a, 0x01, 0x6a, 0x00, 0xdc, 0x01, 0x7b, +	0x01, 0x7d, 0x00, 0xdf, 0x01, 0x05, 0x01, 0x2f, 0x01, 0x01, 0x01, 0x07, +	0x00, 0xe4, 0x00, 0xe5, 0x01, 0x19, 0x01, 0x13, 0x01, 0x0d, 0x00, 0xe9, +	0x01, 0x7a, 0x01, 0x17, 0x01, 0x23, 0x01, 0x37, 0x01, 0x2b, 0x01, 0x3c, +	0x01, 0x61, 0x01, 0x44, 0x01, 0x46, 0x00, 0xf3, 0x01, 0x4d, 0x00, 0xf5, +	0x00, 0xf6, 0x00, 0xf7, 0x01, 0x73, 0x01, 0x42, 0x01, 0x5b, 0x01, 0x6b, +	0x00, 0xfc, 0x01, 0x7c, 0x01, 0x7e, 0x02, 0xd9 +}; diff --git a/libiconv/include/charmaps/windows-1258.h b/libiconv/include/charmaps/windows-1258.h new file mode 100644 index 000000000..5bbd737ae --- /dev/null +++ b/libiconv/include/charmaps/windows-1258.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_1258[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0x20, 0x1a, 0x01, 0x92, +	0x20, 0x1e, 0x20, 0x26, 0x20, 0x20, 0x20, 0x21, 0x02, 0xc6, 0x20, 0x30, +	0xff, 0xff, 0x20, 0x39, 0x01, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0x02, 0xdc, 0x21, 0x22, 0xff, 0xff, 0x20, 0x3a, +	0x01, 0x53, 0xff, 0xff, 0xff, 0xff, 0x01, 0x78, 0x00, 0xa0, 0x00, 0xa1, +	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, +	0x00, 0xa8, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +	0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, +	0x00, 0xba, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, +	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x01, 0x02, 0x00, 0xc4, 0x00, 0xc5, +	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +	0x03, 0x00, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x01, 0x10, 0x00, 0xd1, +	0x03, 0x09, 0x00, 0xd3, 0x00, 0xd4, 0x01, 0xa0, 0x00, 0xd6, 0x00, 0xd7, +	0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x01, 0xaf, +	0x03, 0x03, 0x00, 0xdf, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0xe2, 0x01, 0x03, +	0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, +	0x00, 0xea, 0x00, 0xeb, 0x03, 0x01, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, +	0x01, 0x11, 0x00, 0xf1, 0x03, 0x23, 0x00, 0xf3, 0x00, 0xf4, 0x01, 0xa1, +	0x00, 0xf6, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xfb, +	0x00, 0xfc, 0x01, 0xb0, 0x20, 0xab, 0x00, 0xff +}; diff --git a/libiconv/include/charmaps/windows-874.h b/libiconv/include/charmaps/windows-874.h new file mode 100644 index 000000000..5749280a5 --- /dev/null +++ b/libiconv/include/charmaps/windows-874.h @@ -0,0 +1,24 @@ +static const unsigned char map_windows_874[] = { +	0x00, 0x00, 0x00, 0x00, 0x20, 0xac, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x20, 0x18, 0x20, 0x19, 0x20, 0x1c, 0x20, 0x1d, 0x20, 0x22, +	0x20, 0x13, 0x20, 0x14, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xa0, 0x0e, 0x01, +	0x0e, 0x02, 0x0e, 0x03, 0x0e, 0x04, 0x0e, 0x05, 0x0e, 0x06, 0x0e, 0x07, +	0x0e, 0x08, 0x0e, 0x09, 0x0e, 0x0a, 0x0e, 0x0b, 0x0e, 0x0c, 0x0e, 0x0d, +	0x0e, 0x0e, 0x0e, 0x0f, 0x0e, 0x10, 0x0e, 0x11, 0x0e, 0x12, 0x0e, 0x13, +	0x0e, 0x14, 0x0e, 0x15, 0x0e, 0x16, 0x0e, 0x17, 0x0e, 0x18, 0x0e, 0x19, +	0x0e, 0x1a, 0x0e, 0x1b, 0x0e, 0x1c, 0x0e, 0x1d, 0x0e, 0x1e, 0x0e, 0x1f, +	0x0e, 0x20, 0x0e, 0x21, 0x0e, 0x22, 0x0e, 0x23, 0x0e, 0x24, 0x0e, 0x25, +	0x0e, 0x26, 0x0e, 0x27, 0x0e, 0x28, 0x0e, 0x29, 0x0e, 0x2a, 0x0e, 0x2b, +	0x0e, 0x2c, 0x0e, 0x2d, 0x0e, 0x2e, 0x0e, 0x2f, 0x0e, 0x30, 0x0e, 0x31, +	0x0e, 0x32, 0x0e, 0x33, 0x0e, 0x34, 0x0e, 0x35, 0x0e, 0x36, 0x0e, 0x37, +	0x0e, 0x38, 0x0e, 0x39, 0x0e, 0x3a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +	0xff, 0xff, 0x0e, 0x3f, 0x0e, 0x40, 0x0e, 0x41, 0x0e, 0x42, 0x0e, 0x43, +	0x0e, 0x44, 0x0e, 0x45, 0x0e, 0x46, 0x0e, 0x47, 0x0e, 0x48, 0x0e, 0x49, +	0x0e, 0x4a, 0x0e, 0x4b, 0x0e, 0x4c, 0x0e, 0x4d, 0x0e, 0x4e, 0x0e, 0x4f, +	0x0e, 0x50, 0x0e, 0x51, 0x0e, 0x52, 0x0e, 0x53, 0x0e, 0x54, 0x0e, 0x55, +	0x0e, 0x56, 0x0e, 0x57, 0x0e, 0x58, 0x0e, 0x59, 0x0e, 0x5a, 0x0e, 0x5b, +	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; diff --git a/libiconv/m4/iconv.m4 b/libiconv/m4/iconv.m4 new file mode 100644 index 000000000..e2041b9b4 --- /dev/null +++ b/libiconv/m4/iconv.m4 @@ -0,0 +1,214 @@ +# iconv.m4 serial 11 (gettext-0.18.1) +dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ +  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. +  AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +  AC_REQUIRE([AC_LIB_RPATH]) + +  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV +  dnl accordingly. +  AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ +  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and +  dnl those with the standalone portable GNU libiconv installed). +  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + +  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV +  dnl accordingly. +  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + +  dnl Add $INCICONV to CPPFLAGS before performing the following checks, +  dnl because if the user has installed libiconv and not disabled its use +  dnl via --without-libiconv-prefix, he wants to use it. The first +  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. +  am_save_CPPFLAGS="$CPPFLAGS" +  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + +  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ +    am_cv_func_iconv="no, consider installing GNU libiconv" +    am_cv_lib_iconv=no +    AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], +      [iconv_t cd = iconv_open("",""); +       iconv(cd,NULL,NULL,NULL,NULL); +       iconv_close(cd);], +      [am_cv_func_iconv=yes]) +    if test "$am_cv_func_iconv" != yes; then +      am_save_LIBS="$LIBS" +      LIBS="$LIBS $LIBICONV" +      AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], +        [iconv_t cd = iconv_open("",""); +         iconv(cd,NULL,NULL,NULL,NULL); +         iconv_close(cd);], +        [am_cv_lib_iconv=yes] +        [am_cv_func_iconv=yes]) +      LIBS="$am_save_LIBS" +    fi +  ]) +  if test "$am_cv_func_iconv" = yes; then +    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ +      dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. +      am_save_LIBS="$LIBS" +      if test $am_cv_lib_iconv = yes; then +        LIBS="$LIBS $LIBICONV" +      fi +      AC_TRY_RUN([ +#include <iconv.h> +#include <string.h> +int main () +{ +  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful +     returns.  */ +  { +    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); +    if (cd_utf8_to_88591 != (iconv_t)(-1)) +      { +        static const char input[] = "\342\202\254"; /* EURO SIGN */ +        char buf[10]; +        const char *inptr = input; +        size_t inbytesleft = strlen (input); +        char *outptr = buf; +        size_t outbytesleft = sizeof (buf); +        size_t res = iconv (cd_utf8_to_88591, +                            (char **) &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if (res == 0) +          return 1; +      } +  } +  /* Test against Solaris 10 bug: Failures are not distinguishable from +     successful returns.  */ +  { +    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); +    if (cd_ascii_to_88591 != (iconv_t)(-1)) +      { +        static const char input[] = "\263"; +        char buf[10]; +        const char *inptr = input; +        size_t inbytesleft = strlen (input); +        char *outptr = buf; +        size_t outbytesleft = sizeof (buf); +        size_t res = iconv (cd_ascii_to_88591, +                            (char **) &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if (res == 0) +          return 1; +      } +  } +#if 0 /* This bug could be worked around by the caller.  */ +  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */ +  { +    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); +    if (cd_88591_to_utf8 != (iconv_t)(-1)) +      { +        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; +        char buf[50]; +        const char *inptr = input; +        size_t inbytesleft = strlen (input); +        char *outptr = buf; +        size_t outbytesleft = sizeof (buf); +        size_t res = iconv (cd_88591_to_utf8, +                            (char **) &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if ((int)res > 0) +          return 1; +      } +  } +#endif +  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is +     provided.  */ +  if (/* Try standardized names.  */ +      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) +      /* Try IRIX, OSF/1 names.  */ +      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) +      /* Try AIX names.  */ +      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) +      /* Try HP-UX names.  */ +      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) +    return 1; +  return 0; +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], +        [case "$host_os" in +           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; +           *)            am_cv_func_iconv_works="guessing yes" ;; +         esac]) +      LIBS="$am_save_LIBS" +    ]) +    case "$am_cv_func_iconv_works" in +      *no) am_func_iconv=no am_cv_lib_iconv=no ;; +      *)   am_func_iconv=yes ;; +    esac +  else +    am_func_iconv=no am_cv_lib_iconv=no +  fi +  if test "$am_func_iconv" = yes; then +    AC_DEFINE([HAVE_ICONV], [1], +      [Define if you have the iconv() function and it works.]) +  fi +  if test "$am_cv_lib_iconv" = yes; then +    AC_MSG_CHECKING([how to link with libiconv]) +    AC_MSG_RESULT([$LIBICONV]) +  else +    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV +    dnl either. +    CPPFLAGS="$am_save_CPPFLAGS" +    LIBICONV= +    LTLIBICONV= +  fi +  AC_SUBST([LIBICONV]) +  AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl   Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl   Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl   warnings. +m4_define([gl_iconv_AC_DEFUN], +  m4_version_prereq([2.64], +    [[AC_DEFUN_ONCE( +        [$1], [$2])]], +    [[AC_DEFUN( +        [$1], [$2])]])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ +  AM_ICONV_LINK +  if test "$am_cv_func_iconv" = yes; then +    AC_MSG_CHECKING([for iconv declaration]) +    AC_CACHE_VAL([am_cv_proto_iconv], [ +      AC_TRY_COMPILE([ +#include <stdlib.h> +#include <iconv.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) +      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) +    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` +    AC_MSG_RESULT([ +         $am_cv_proto_iconv]) +    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], +      [Define as const if the declaration of iconv() needs const.]) +  fi +]) | 
