927 changes: 927 additions & 0 deletions Externals/libiconv-1.14/config.h

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions Externals/libiconv-1.14/include/export.h
@@ -0,0 +1,6 @@

#if @HAVE_VISIBILITY@ && BUILDING_LIBICONV
#define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default")))
#else
#define LIBICONV_DLL_EXPORTED
#endif
248 changes: 248 additions & 0 deletions Externals/libiconv-1.14/include/iconv.h
@@ -0,0 +1,248 @@
/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
This file is part of the GNU LIBICONV Library.
The GNU LIBICONV Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
The GNU LIBICONV 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU LIBICONV Library; see the file COPYING.LIB.
If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston, MA 02110-1301, USA. */

/* When installed, this file is called "iconv.h". */

#ifndef _LIBICONV_H
#define _LIBICONV_H

#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */

#if 1 && BUILDING_LIBICONV
#define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default")))
#else
#define LIBICONV_DLL_EXPORTED
#endif
extern LIBICONV_DLL_EXPORTED int _libiconv_version; /* Likewise */

/* We would like to #include any system header file which could define
iconv_t, 1. in order to eliminate the risk that the user gets compilation
errors because some other system header file includes /usr/include/iconv.h
which defines iconv_t or declares iconv after this file, 2. when compiling
for LIBICONV_PLUG, we need the proper iconv_t type in order to produce
binary compatible code.
But gcc's #include_next is not portable. Thus, once libiconv's iconv.h
has been installed in /usr/local/include, there is no way any more to
include the original /usr/include/iconv.h. We simply have to get away
without it.
Ad 1. The risk that a system header file does
#include "iconv.h" or #include_next "iconv.h"
is small. They all do #include <iconv.h>.
Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It
has to be a scalar type because (iconv_t)(-1) is a possible return value
from iconv_open().) */

/* Define iconv_t ourselves. */
#undef iconv_t
#define iconv_t libiconv_t
typedef void* iconv_t;

/* Get size_t declaration.
Get wchar_t declaration if it exists. */
#include <stddef.h>

/* Get errno declaration and values. */
#include <errno.h>
/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS,
have EILSEQ in a different header. On these systems, define EILSEQ
ourselves. */
#ifndef EILSEQ
#define EILSEQ
#endif


#ifdef __cplusplus
extern "C" {
#endif


/* Allocates descriptor for code conversion from encoding ‘fromcode’ to
encoding ‘tocode’. */
#ifndef LIBICONV_PLUG
#define iconv_open libiconv_open
#endif
extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode);

/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes
starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at
‘*outbuf’.
Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount.
Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */
#ifndef LIBICONV_PLUG
#define iconv libiconv
#endif
extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);

/* Frees resources allocated for conversion descriptor ‘cd’. */
#ifndef LIBICONV_PLUG
#define iconv_close libiconv_close
#endif
extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd);


#ifdef __cplusplus
}
#endif


#ifndef LIBICONV_PLUG

/* Nonstandard extensions. */

#if 1
#if 0
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
included before <wchar.h>. */
#include <stddef.h>
#include <stdio.h>
#include <time.h>
#endif
#include <wchar.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* A type that holds all memory needed by a conversion descriptor.
A pointer to such an object can be used as an iconv_t. */
typedef struct {
void* dummy1[28];
#if 1
mbstate_t dummy2;
#endif
} iconv_allocation_t;

/* Allocates descriptor for code conversion from encoding ‘fromcode’ to
encoding ‘tocode’ into preallocated memory. Returns an error indicator
(0 or -1 with errno set). */
#define iconv_open_into libiconv_open_into
extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode,
iconv_allocation_t* resultp);

/* Control of attributes. */
#define iconvctl libiconvctl
extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument);

/* Hook performed after every successful conversion of a Unicode character. */
typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data);
/* Hook performed after every successful conversion of a wide character. */
typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data);
/* Set of hooks. */
struct iconv_hooks {
iconv_unicode_char_hook uc_hook;
iconv_wide_char_hook wc_hook;
void* data;
};

/* Fallback function. Invoked when a small number of bytes could not be
converted to a Unicode character. This function should process all
bytes from inbuf and may produce replacement Unicode characters by calling
the write_replacement callback repeatedly. */
typedef void (*iconv_unicode_mb_to_uc_fallback)
(const char* inbuf, size_t inbufsize,
void (*write_replacement) (const unsigned int *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
/* Fallback function. Invoked when a Unicode character could not be converted
to the target encoding. This function should process the character and
may produce replacement bytes (in the target encoding) by calling the
write_replacement callback repeatedly. */
typedef void (*iconv_unicode_uc_to_mb_fallback)
(unsigned int code,
void (*write_replacement) (const char *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
#if 1
/* Fallback function. Invoked when a number of bytes could not be converted to
a wide character. This function should process all bytes from inbuf and may
produce replacement wide characters by calling the write_replacement
callback repeatedly. */
typedef void (*iconv_wchar_mb_to_wc_fallback)
(const char* inbuf, size_t inbufsize,
void (*write_replacement) (const wchar_t *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
/* Fallback function. Invoked when a wide character could not be converted to
the target encoding. This function should process the character and may
produce replacement bytes (in the target encoding) by calling the
write_replacement callback repeatedly. */
typedef void (*iconv_wchar_wc_to_mb_fallback)
(wchar_t code,
void (*write_replacement) (const char *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
#else
/* If the wchar_t type does not exist, these two fallback functions are never
invoked. Their argument list therefore does not matter. */
typedef void (*iconv_wchar_mb_to_wc_fallback) ();
typedef void (*iconv_wchar_wc_to_mb_fallback) ();
#endif
/* Set of fallbacks. */
struct iconv_fallbacks {
iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback;
iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback;
iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback;
iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback;
void* data;
};

/* Requests for iconvctl. */
#define ICONV_TRIVIALP 0 /* int *argument */
#define ICONV_GET_TRANSLITERATE 1 /* int *argument */
#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */
#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */
#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */
#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */
#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */

/* Listing of locale independent encodings. */
#define iconvlist libiconvlist
extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount,
const char * const * names,
void* data),
void* data);

/* Canonicalize an encoding name.
The result is either a canonical encoding name, or name itself. */
extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name);

/* Support for relocatable packages. */

/* Sets the original and the current installation prefix of the package.
Relocation simply replaces a pathname starting with the original prefix
by the corresponding pathname with the current prefix instead. Both
prefixes should be directory names without trailing slash (i.e. use ""
instead of "/"). */
extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix,
const char *curr_prefix);

#ifdef __cplusplus
}
#endif

#endif


#endif /* _LIBICONV_H */
1,719 changes: 1,719 additions & 0 deletions Externals/libiconv-1.14/lib/aliases.h

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions Externals/libiconv-1.14/lib/aliases2.h
@@ -0,0 +1,40 @@
/*
* Copyright (C) 1999-2003, 2008 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

#ifdef USE_AIX
# if defined _AIX
# include "aliases_aix_sysaix.h"
# else
# include "aliases_aix.h"
# endif
#endif
#ifdef USE_OSF1
# if defined __osf__
# include "aliases_osf1_sysosf1.h"
# else
# include "aliases_osf1.h"
# endif
#endif
#ifdef USE_DOS
# include "aliases_dos.h"
#endif
#ifdef USE_EXTRA
# include "aliases_extra.h"
#endif
18 changes: 18 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_aix.h
@@ -0,0 +1,18 @@
S(aix_0, "CP856", ei_cp856 )
S(aix_1, "CP922", ei_cp922 )
S(aix_2, "CP943", ei_cp943 )
S(aix_3, "CP1046", ei_cp1046 )
S(aix_4, "CP1124", ei_cp1124 )
S(aix_5, "CP1129", ei_cp1129 )
S(aix_6, "CP1161", ei_cp1161 )
S(aix_7, "IBM1161", ei_cp1161 )
S(aix_8, "IBM-1161", ei_cp1161 )
S(aix_9, "CSIBM1161", ei_cp1161 )
S(aix_10, "CP1162", ei_cp1162 )
S(aix_11, "IBM1162", ei_cp1162 )
S(aix_12, "IBM-1162", ei_cp1162 )
S(aix_13, "CSIBM1162", ei_cp1162 )
S(aix_14, "CP1163", ei_cp1163 )
S(aix_15, "IBM1163", ei_cp1163 )
S(aix_16, "IBM-1163", ei_cp1163 )
S(aix_17, "CSIBM1163", ei_cp1163 )
24 changes: 24 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_aix_sysaix.h
@@ -0,0 +1,24 @@
S(aix_0, "CP856", ei_cp856 )
S(aix_1, "IBM-856", ei_cp856 )
S(aix_2, "CP922", ei_cp922 )
S(aix_3, "IBM-922", ei_cp922 )
S(aix_4, "CP943", ei_cp943 )
S(aix_5, "IBM-943", ei_cp943 )
S(aix_6, "CP1046", ei_cp1046 )
S(aix_7, "IBM-1046", ei_cp1046 )
S(aix_8, "CP1124", ei_cp1124 )
S(aix_9, "IBM-1124", ei_cp1124 )
S(aix_10, "CP1129", ei_cp1129 )
S(aix_11, "IBM-1129", ei_cp1129 )
S(aix_12, "CP1161", ei_cp1161 )
S(aix_13, "IBM1161", ei_cp1161 )
S(aix_14, "IBM-1161", ei_cp1161 )
S(aix_15, "CSIBM1161", ei_cp1161 )
S(aix_16, "CP1162", ei_cp1162 )
S(aix_17, "IBM1162", ei_cp1162 )
S(aix_18, "IBM-1162", ei_cp1162 )
S(aix_19, "CSIBM1162", ei_cp1162 )
S(aix_20, "CP1163", ei_cp1163 )
S(aix_21, "IBM1163", ei_cp1163 )
S(aix_22, "IBM-1163", ei_cp1163 )
S(aix_23, "CSIBM1163", ei_cp1163 )
48 changes: 48 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_dos.h
@@ -0,0 +1,48 @@
S(dos_0, "CP437", ei_cp437 )
S(dos_1, "IBM437", ei_cp437 )
S(dos_2, "437", ei_cp437 )
S(dos_3, "CSPC8CODEPAGE437", ei_cp437 )
S(dos_4, "CP737", ei_cp737 )
S(dos_5, "CP775", ei_cp775 )
S(dos_6, "IBM775", ei_cp775 )
S(dos_7, "CSPC775BALTIC", ei_cp775 )
S(dos_8, "CP852", ei_cp852 )
S(dos_9, "IBM852", ei_cp852 )
S(dos_10, "852", ei_cp852 )
S(dos_11, "CSPCP852", ei_cp852 )
S(dos_12, "CP853", ei_cp853 )
S(dos_13, "CP855", ei_cp855 )
S(dos_14, "IBM855", ei_cp855 )
S(dos_15, "855", ei_cp855 )
S(dos_16, "CSIBM855", ei_cp855 )
S(dos_17, "CP857", ei_cp857 )
S(dos_18, "IBM857", ei_cp857 )
S(dos_19, "857", ei_cp857 )
S(dos_20, "CSIBM857", ei_cp857 )
S(dos_21, "CP858", ei_cp858 )
S(dos_22, "CP860", ei_cp860 )
S(dos_23, "IBM860", ei_cp860 )
S(dos_24, "860", ei_cp860 )
S(dos_25, "CSIBM860", ei_cp860 )
S(dos_26, "CP861", ei_cp861 )
S(dos_27, "IBM861", ei_cp861 )
S(dos_28, "861", ei_cp861 )
S(dos_29, "CP-IS", ei_cp861 )
S(dos_30, "CSIBM861", ei_cp861 )
S(dos_31, "CP863", ei_cp863 )
S(dos_32, "IBM863", ei_cp863 )
S(dos_33, "863", ei_cp863 )
S(dos_34, "CSIBM863", ei_cp863 )
S(dos_35, "CP864", ei_cp864 )
S(dos_36, "IBM864", ei_cp864 )
S(dos_37, "CSIBM864", ei_cp864 )
S(dos_38, "CP865", ei_cp865 )
S(dos_39, "IBM865", ei_cp865 )
S(dos_40, "865", ei_cp865 )
S(dos_41, "CSIBM865", ei_cp865 )
S(dos_42, "CP869", ei_cp869 )
S(dos_43, "IBM869", ei_cp869 )
S(dos_44, "869", ei_cp869 )
S(dos_45, "CP-GR", ei_cp869 )
S(dos_46, "CSIBM869", ei_cp869 )
S(dos_47, "CP1125", ei_cp1125 )
12 changes: 12 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_extra.h
@@ -0,0 +1,12 @@
S(extra_0, "EUC-JISX0213", ei_euc_jisx0213 )
S(extra_1, "EUC-JIS-2004", ei_euc_jisx0213 )
S(extra_2, "SHIFT_JISX0213", ei_shift_jisx0213 )
S(extra_3, "SHIFT_JIS-2004", ei_shift_jisx0213 )
S(extra_4, "ISO-2022-JP-3", ei_iso2022_jp3 )
S(extra_5, "ISO-2022-JP-2004", ei_iso2022_jp3 )
S(extra_6, "BIG5-2003", ei_big5_2003 )
S(extra_7, "TDS565", ei_tds565 )
S(extra_8, "ISO-IR-230", ei_tds565 )
S(extra_9, "ATARIST", ei_atarist )
S(extra_10, "ATARI", ei_atarist )
S(extra_11, "RISCOS-LATIN1", ei_riscos1 )
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_osf1.h
@@ -0,0 +1,2 @@
S(osf1_0, "DEC-KANJI", ei_dec_kanji )
S(osf1_1, "DEC-HANYU", ei_dec_hanyu )
4 changes: 4 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_osf1_sysosf1.h
@@ -0,0 +1,4 @@
S(osf1_0, "DEC-KANJI", ei_dec_kanji )
S(osf1_1, "DECKANJI", ei_dec_kanji )
S(osf1_2, "DEC-HANYU", ei_dec_hanyu )
S(osf1_3, "DECHANYU", ei_dec_hanyu )
1,769 changes: 1,769 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_sysaix.h

Large diffs are not rendered by default.

1,773 changes: 1,773 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_syshpux.h

Large diffs are not rendered by default.

1,745 changes: 1,745 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_sysosf1.h

Large diffs are not rendered by default.

1,756 changes: 1,756 additions & 0 deletions Externals/libiconv-1.14/lib/aliases_syssolaris.h

Large diffs are not rendered by default.

116 changes: 116 additions & 0 deletions Externals/libiconv-1.14/lib/armscii_8.h
@@ -0,0 +1,116 @@
/*
* Copyright (C) 1999-2002 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* ARMSCII-8
*/

static const unsigned short armscii_8_2uni[96] = {
/* 0xa0 */
0x00a0, 0xfffd, 0x0587, 0x0589, 0x0029, 0x0028, 0x00bb, 0x00ab,
0x2014, 0x002e, 0x055d, 0x002c, 0x002d, 0x058a, 0x2026, 0x055c,
/* 0xb0 */
0x055b, 0x055e, 0x0531, 0x0561, 0x0532, 0x0562, 0x0533, 0x0563,
0x0534, 0x0564, 0x0535, 0x0565, 0x0536, 0x0566, 0x0537, 0x0567,
/* 0xc0 */
0x0538, 0x0568, 0x0539, 0x0569, 0x053a, 0x056a, 0x053b, 0x056b,
0x053c, 0x056c, 0x053d, 0x056d, 0x053e, 0x056e, 0x053f, 0x056f,
/* 0xd0 */
0x0540, 0x0570, 0x0541, 0x0571, 0x0542, 0x0572, 0x0543, 0x0573,
0x0544, 0x0574, 0x0545, 0x0575, 0x0546, 0x0576, 0x0547, 0x0577,
/* 0xe0 */
0x0548, 0x0578, 0x0549, 0x0579, 0x054a, 0x057a, 0x054b, 0x057b,
0x054c, 0x057c, 0x054d, 0x057d, 0x054e, 0x057e, 0x054f, 0x057f,
/* 0xf0 */
0x0550, 0x0580, 0x0551, 0x0581, 0x0552, 0x0582, 0x0553, 0x0583,
0x0554, 0x0584, 0x0555, 0x0585, 0x0556, 0x0586, 0x055a, 0xfffd,
};

static int
armscii_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
*pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = armscii_8_2uni[c-0xa0];
if (wc != 0xfffd) {
*pwc = (ucs4_t) wc;
return 1;
}
}
return RET_ILSEQ;
}

static const unsigned char armscii_8_page00[8] = {
0xa5, 0xa4, 0x2a, 0x2b, 0xab, 0xac, 0xa9, 0x2f, /* 0x28-0x2f */
};
static const unsigned char armscii_8_page00_1[32] = {
0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */
0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */
0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */
};
static const unsigned char armscii_8_page05[96] = {
0x00, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, /* 0x30-0x37 */
0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, /* 0x38-0x3f */
0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, /* 0x40-0x47 */
0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, /* 0x48-0x4f */
0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0x00, /* 0x50-0x57 */
0x00, 0x00, 0xfe, 0xb0, 0xaf, 0xaa, 0xb1, 0x00, /* 0x58-0x5f */
0x00, 0xb3, 0xb5, 0xb7, 0xb9, 0xbb, 0xbd, 0xbf, /* 0x60-0x67 */
0xc1, 0xc3, 0xc5, 0xc7, 0xc9, 0xcb, 0xcd, 0xcf, /* 0x68-0x6f */
0xd1, 0xd3, 0xd5, 0xd7, 0xd9, 0xdb, 0xdd, 0xdf, /* 0x70-0x77 */
0xe1, 0xe3, 0xe5, 0xe7, 0xe9, 0xeb, 0xed, 0xef, /* 0x78-0x7f */
0xf1, 0xf3, 0xf5, 0xf7, 0xf9, 0xfb, 0xfd, 0xa2, /* 0x80-0x87 */
0x00, 0xa3, 0xad, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */
};
static const unsigned char armscii_8_page20[24] = {
0x00, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, /* 0x10-0x17 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x00, /* 0x20-0x27 */
};

static int
armscii_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0028) {
*r = wc;
return 1;
}
else if (wc >= 0x0028 && wc < 0x0030)
c = armscii_8_page00[wc-0x0028];
else if (wc >= 0x0030 && wc < 0x00a0)
c = wc;
else if (wc >= 0x00a0 && wc < 0x00c0)
c = armscii_8_page00_1[wc-0x00a0];
else if (wc >= 0x0530 && wc < 0x0590)
c = armscii_8_page05[wc-0x0530];
else if (wc >= 0x2010 && wc < 0x2028)
c = armscii_8_page20[wc-0x2010];
if (c != 0) {
*r = c;
return 1;
}
return RET_ILUNI;
}
44 changes: 44 additions & 0 deletions Externals/libiconv-1.14/lib/ascii.h
@@ -0,0 +1,44 @@
/*
* Copyright (C) 1999-2001 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* ASCII
*/

static int
ascii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
*pwc = (ucs4_t) c;
return 1;
}
return RET_ILSEQ;
}

static int
ascii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0080) {
*r = wc;
return 1;
}
return RET_ILUNI;
}
158 changes: 158 additions & 0 deletions Externals/libiconv-1.14/lib/atarist.h
@@ -0,0 +1,158 @@
/*
* Copyright (C) 1999-2005 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* Atari ST
*/

static const unsigned short atarist_2uni[128] = {
/* 0x80 */
0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
/* 0x90 */
0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x00df, 0x0192,
/* 0xa0 */
0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
/* 0xb0 */
0x00e3, 0x00f5, 0x00d8, 0x00f8, 0x0153, 0x0152, 0x00c0, 0x00c3,
0x00d5, 0x00a8, 0x00b4, 0x2020, 0x00b6, 0x00a9, 0x00ae, 0x2122,
/* 0xc0 */
0x0133, 0x0132, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5,
0x05d6, 0x05d7, 0x05d8, 0x05d9, 0x05db, 0x05dc, 0x05de, 0x05e0,
/* 0xd0 */
0x05e1, 0x05e2, 0x05e4, 0x05e6, 0x05e7, 0x05e8, 0x05e9, 0x05ea,
0x05df, 0x05da, 0x05dd, 0x05e3, 0x05e5, 0x00a7, 0x2227, 0x221e,
/* 0xe0 */
0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
0x03a6, 0x0398, 0x03a9, 0x03b4, 0x222e, 0x03c6, 0x2208, 0x2229,
/* 0xf0 */
0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x00b3, 0x00af,
};

static int
atarist_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
*pwc = (ucs4_t) c;
else
*pwc = (ucs4_t) atarist_2uni[c-0x80];
return 1;
}

static const unsigned char atarist_page00[96] = {
0x00, 0xad, 0x9b, 0x9c, 0x00, 0x9d, 0x00, 0xdd, /* 0xa0-0xa7 */
0xb9, 0xbd, 0xa6, 0xae, 0xaa, 0x00, 0xbe, 0xff, /* 0xa8-0xaf */
0xf8, 0xf1, 0xfd, 0xfe, 0xba, 0xe6, 0xbc, 0xfa, /* 0xb0-0xb7 */
0x00, 0x00, 0xa7, 0xaf, 0xac, 0xab, 0x00, 0xa8, /* 0xb8-0xbf */
0xb6, 0x00, 0x00, 0xb7, 0x8e, 0x8f, 0x92, 0x80, /* 0xc0-0xc7 */
0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */
0x00, 0xa5, 0x00, 0x00, 0x00, 0xb8, 0x99, 0x00, /* 0xd0-0xd7 */
0xb2, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x9e, /* 0xd8-0xdf */
0x85, 0xa0, 0x83, 0xb0, 0x84, 0x86, 0x91, 0x87, /* 0xe0-0xe7 */
0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b, /* 0xe8-0xef */
0x00, 0xa4, 0x95, 0xa2, 0x93, 0xb1, 0x94, 0xf6, /* 0xf0-0xf7 */
0xb3, 0x97, 0xa3, 0x96, 0x81, 0x00, 0x00, 0x98, /* 0xf8-0xff */
};
static const unsigned char atarist_page01[104] = {
0x00, 0x00, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */
0x00, 0x00, 0xb5, 0xb4, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */
0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */
};
static const unsigned char atarist_page03[56] = {
0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */
0xe9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */
0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0xe8, 0x00, /* 0xa0-0xa7 */
0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */
0x00, 0xe0, 0xe1, 0x00, 0xeb, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */
0xe3, 0x00, 0x00, 0xe5, 0xe7, 0x00, 0xed, 0x00, /* 0xc0-0xc7 */
};
static const unsigned char atarist_page05[32] = {
0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, /* 0xd0-0xd7 */
0xca, 0xcb, 0xd9, 0xcc, 0xcd, 0xda, 0xce, 0xd8, /* 0xd8-0xdf */
0xcf, 0xd0, 0xd1, 0xdb, 0xd2, 0xdc, 0xd3, 0xd4, /* 0xe0-0xe7 */
0xd5, 0xd6, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */
};
static const unsigned char atarist_page22[96] = {
0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */
0x00, 0xf9, 0xfb, 0x00, 0x00, 0x00, 0xdf, 0x00, /* 0x18-0x1f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, /* 0x20-0x27 */
0x00, 0xef, 0x00, 0x00, 0x00, 0x00, 0xec, 0x00, /* 0x28-0x2f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */
0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */
0x00, 0xf0, 0x00, 0x00, 0xf3, 0xf2, 0x00, 0x00, /* 0x60-0x67 */
};
static const unsigned char atarist_page23[24] = {
0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */
0xf4, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */
};

static int
atarist_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
*r = wc;
return 1;
}
else if (wc >= 0x00a0 && wc < 0x0100)
c = atarist_page00[wc-0x00a0];
else if (wc >= 0x0130 && wc < 0x0198)
c = atarist_page01[wc-0x0130];
else if (wc >= 0x0390 && wc < 0x03c8)
c = atarist_page03[wc-0x0390];
else if (wc >= 0x05d0 && wc < 0x05f0)
c = atarist_page05[wc-0x05d0];
else if (wc == 0x2020)
c = 0xbb;
else if (wc == 0x207f)
c = 0xfc;
else if (wc == 0x2122)
c = 0xbf;
else if (wc >= 0x2208 && wc < 0x2268)
c = atarist_page22[wc-0x2208];
else if (wc >= 0x2310 && wc < 0x2328)
c = atarist_page23[wc-0x2310];
if (c != 0) {
*r = c;
return 1;
}
return RET_ILUNI;
}
4,160 changes: 4,160 additions & 0 deletions Externals/libiconv-1.14/lib/big5.h

Large diffs are not rendered by default.

476 changes: 476 additions & 0 deletions Externals/libiconv-1.14/lib/big5_2003.h

Large diffs are not rendered by default.

197 changes: 197 additions & 0 deletions Externals/libiconv-1.14/lib/big5hkscs1999.h
@@ -0,0 +1,197 @@
/*
* Copyright (C) 1999-2002, 2006 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* BIG5-HKSCS:1999
*/

/*
* BIG5-HKSCS:1999 can be downloaded from
* http://www.info.gov.hk/digital21/eng/hkscs/download.html
* http://www.info.gov.hk/digital21/eng/hkscs/index.html
*
* It extends BIG5 (without the rows 0xC6..0xC7) through the ranges
*
* 0x{88..8D}{40..7E,A1..FE} 641 characters
* 0x{8E..A0}{40..7E,A1..FE} 2898 characters
* 0x{C6..C8}{40..7E,A1..FE} 359 characters
* 0xF9{D6..FE} 41 characters
* 0x{FA..FE}{40..7E,A1..FE} 763 characters
*
* Note that some HKSCS characters are not contained in Unicode 3.2
* and are therefore best represented as sequences of Unicode characters:
* 0x8862 U+00CA U+0304 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x8864 U+00CA U+030C LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND CARON
* 0x88A3 U+00EA U+0304 LATIN SMALL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x88A5 U+00EA U+030C LATIN SMALL LETTER E WITH CIRCUMFLEX AND CARON
*/

#include "hkscs1999.h"
#include "flushwc.h"

static int
big5hkscs1999_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
ucs4_t last_wc = conv->istate;
if (last_wc) {
/* Output the buffered character. */
conv->istate = 0;
*pwc = last_wc;
return 0; /* Don't advance the input pointer. */
} else {
unsigned char c = *s;
/* Code set 0 (ASCII) */
if (c < 0x80)
return ascii_mbtowc(conv,pwc,s,n);
/* Code set 1 (BIG5 extended) */
if (c >= 0xa1 && c < 0xff) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
if (!((c == 0xc6 && c2 >= 0xa1) || c == 0xc7)) {
int ret = big5_mbtowc(conv,pwc,s,2);
if (ret != RET_ILSEQ)
return ret;
}
}
}
}
{
int ret = hkscs1999_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
if (c == 0x88) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if (c2 == 0x62 || c2 == 0x64 || c2 == 0xa3 || c2 == 0xa5) {
/* It's a composed character. */
ucs4_t wc1 = ((c2 >> 3) << 2) + 0x009a; /* = 0x00ca or 0x00ea */
ucs4_t wc2 = ((c2 & 6) << 2) + 0x02fc; /* = 0x0304 or 0x030c */
/* We cannot output two Unicode characters at once. So,
output the first character and buffer the second one. */
*pwc = wc1;
conv->istate = wc2;
return 2;
}
}
}
return RET_ILSEQ;
}
}

#define big5hkscs1999_flushwc normal_flushwc

static int
big5hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
int count = 0;
unsigned char last = conv->ostate;

if (last) {
/* last is = 0x66 or = 0xa7. */
if (wc == 0x0304 || wc == 0x030c) {
/* Output the combined character. */
if (n >= 2) {
r[0] = 0x88;
r[1] = last + ((wc & 24) >> 2) - 4; /* = 0x62 or 0x64 or 0xa3 or 0xa5 */
conv->ostate = 0;
return 2;
} else
return RET_TOOSMALL;
}

/* Output the buffered character. */
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
r += 2;
count = 2;
}

/* Code set 0 (ASCII) */
if (wc < 0x0080) {
/* Plain ASCII character. */
if (n > count) {
r[0] = (unsigned char) wc;
conv->ostate = 0;
return count+1;
} else
return RET_TOOSMALL;
} else {
unsigned char buf[2];
int ret;

/* Code set 1 (BIG5 extended) */
ret = big5_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (!((buf[0] == 0xc6 && buf[1] >= 0xa1) || buf[0] == 0xc7)) {
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
}
ret = hkscs1999_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if ((wc & ~0x0020) == 0x00ca) {
/* A possible first character of a multi-character sequence. We have to
buffer it. */
if (!(buf[0] == 0x88 && (buf[1] == 0x66 || buf[1] == 0xa7))) abort();
conv->ostate = buf[1]; /* = 0x66 or = 0xa7 */
return count+0;
}
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
return RET_ILUNI;
}
}

static int
big5hkscs1999_reset (conv_t conv, unsigned char *r, int n)
{
unsigned char last = conv->ostate;

if (last) {
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
/* conv->ostate = 0; will be done by the caller */
return 2;
} else
return 0;
}
215 changes: 215 additions & 0 deletions Externals/libiconv-1.14/lib/big5hkscs2001.h
@@ -0,0 +1,215 @@
/*
* Copyright (C) 1999-2002, 2006 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* BIG5-HKSCS:2001
*/

/*
* BIG5-HKSCS:2001 can be downloaded from
* http://www.info.gov.hk/digital21/eng/hkscs/download.html
* http://www.info.gov.hk/digital21/eng/hkscs/index.html
*
* It extends BIG5-HKSCS:1999 through 116 characters.
*
* It extends BIG5 (without the rows 0xC6..0xC7) through the ranges
*
* 0x{88..8D}{40..7E,A1..FE} 757 characters
* 0x{8E..A0}{40..7E,A1..FE} 2898 characters
* 0x{C6..C8}{40..7E,A1..FE} 359 characters
* 0xF9{D6..FE} 41 characters
* 0x{FA..FE}{40..7E,A1..FE} 763 characters
*
* Note that some HKSCS characters are not contained in Unicode 3.2
* and are therefore best represented as sequences of Unicode characters:
* 0x8862 U+00CA U+0304 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x8864 U+00CA U+030C LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND CARON
* 0x88A3 U+00EA U+0304 LATIN SMALL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x88A5 U+00EA U+030C LATIN SMALL LETTER E WITH CIRCUMFLEX AND CARON
*/

#include "hkscs2001.h"
#include "flushwc.h"

static int
big5hkscs2001_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
ucs4_t last_wc = conv->istate;
if (last_wc) {
/* Output the buffered character. */
conv->istate = 0;
*pwc = last_wc;
return 0; /* Don't advance the input pointer. */
} else {
unsigned char c = *s;
/* Code set 0 (ASCII) */
if (c < 0x80)
return ascii_mbtowc(conv,pwc,s,n);
/* Code set 1 (BIG5 extended) */
if (c >= 0xa1 && c < 0xff) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
if (!((c == 0xc6 && c2 >= 0xa1) || c == 0xc7)) {
int ret = big5_mbtowc(conv,pwc,s,2);
if (ret != RET_ILSEQ)
return ret;
}
}
}
}
{
int ret = hkscs1999_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
{
int ret = hkscs2001_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
if (c == 0x88) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if (c2 == 0x62 || c2 == 0x64 || c2 == 0xa3 || c2 == 0xa5) {
/* It's a composed character. */
ucs4_t wc1 = ((c2 >> 3) << 2) + 0x009a; /* = 0x00ca or 0x00ea */
ucs4_t wc2 = ((c2 & 6) << 2) + 0x02fc; /* = 0x0304 or 0x030c */
/* We cannot output two Unicode characters at once. So,
output the first character and buffer the second one. */
*pwc = wc1;
conv->istate = wc2;
return 2;
}
}
}
return RET_ILSEQ;
}
}

#define big5hkscs2001_flushwc normal_flushwc

static int
big5hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
int count = 0;
unsigned char last = conv->ostate;

if (last) {
/* last is = 0x66 or = 0xa7. */
if (wc == 0x0304 || wc == 0x030c) {
/* Output the combined character. */
if (n >= 2) {
r[0] = 0x88;
r[1] = last + ((wc & 24) >> 2) - 4; /* = 0x62 or 0x64 or 0xa3 or 0xa5 */
conv->ostate = 0;
return 2;
} else
return RET_TOOSMALL;
}

/* Output the buffered character. */
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
r += 2;
count = 2;
}

/* Code set 0 (ASCII) */
if (wc < 0x0080) {
/* Plain ASCII character. */
if (n > count) {
r[0] = (unsigned char) wc;
conv->ostate = 0;
return count+1;
} else
return RET_TOOSMALL;
} else {
unsigned char buf[2];
int ret;

/* Code set 1 (BIG5 extended) */
ret = big5_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (!((buf[0] == 0xc6 && buf[1] >= 0xa1) || buf[0] == 0xc7)) {
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
}
ret = hkscs1999_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if ((wc & ~0x0020) == 0x00ca) {
/* A possible first character of a multi-character sequence. We have to
buffer it. */
if (!(buf[0] == 0x88 && (buf[1] == 0x66 || buf[1] == 0xa7))) abort();
conv->ostate = buf[1]; /* = 0x66 or = 0xa7 */
return count+0;
}
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
ret = hkscs2001_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
return RET_ILUNI;
}
}

static int
big5hkscs2001_reset (conv_t conv, unsigned char *r, int n)
{
unsigned char last = conv->ostate;

if (last) {
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
/* conv->ostate = 0; will be done by the caller */
return 2;
} else
return 0;
}
231 changes: 231 additions & 0 deletions Externals/libiconv-1.14/lib/big5hkscs2004.h
@@ -0,0 +1,231 @@
/*
* Copyright (C) 1999-2002, 2006 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* BIG5-HKSCS:2004
*/

/*
* BIG5-HKSCS:2004 can be downloaded from
* http://www.info.gov.hk/digital21/eng/hkscs/download.html
* http://www.info.gov.hk/digital21/eng/hkscs/index.html
*
* It extends BIG5-HKSCS:2001 through 123 characters.
*
* It extends BIG5 (without the rows 0xC6..0xC7) through the ranges
*
* 0x{87..8D}{40..7E,A1..FE} 880 characters
* 0x{8E..A0}{40..7E,A1..FE} 2898 characters
* 0x{C6..C8}{40..7E,A1..FE} 359 characters
* 0xF9{D6..FE} 41 characters
* 0x{FA..FE}{40..7E,A1..FE} 763 characters
*
* Note that some HKSCS characters are not contained in Unicode 3.2
* and are therefore best represented as sequences of Unicode characters:
* 0x8862 U+00CA U+0304 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x8864 U+00CA U+030C LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND CARON
* 0x88A3 U+00EA U+0304 LATIN SMALL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x88A5 U+00EA U+030C LATIN SMALL LETTER E WITH CIRCUMFLEX AND CARON
*/

#include "hkscs2004.h"
#include "flushwc.h"

static int
big5hkscs2004_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
ucs4_t last_wc = conv->istate;
if (last_wc) {
/* Output the buffered character. */
conv->istate = 0;
*pwc = last_wc;
return 0; /* Don't advance the input pointer. */
} else {
unsigned char c = *s;
/* Code set 0 (ASCII) */
if (c < 0x80)
return ascii_mbtowc(conv,pwc,s,n);
/* Code set 1 (BIG5 extended) */
if (c >= 0xa1 && c < 0xff) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
if (!((c == 0xc6 && c2 >= 0xa1) || c == 0xc7)) {
int ret = big5_mbtowc(conv,pwc,s,2);
if (ret != RET_ILSEQ)
return ret;
}
}
}
}
{
int ret = hkscs1999_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
{
int ret = hkscs2001_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
{
int ret = hkscs2004_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
if (c == 0x88) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if (c2 == 0x62 || c2 == 0x64 || c2 == 0xa3 || c2 == 0xa5) {
/* It's a composed character. */
ucs4_t wc1 = ((c2 >> 3) << 2) + 0x009a; /* = 0x00ca or 0x00ea */
ucs4_t wc2 = ((c2 & 6) << 2) + 0x02fc; /* = 0x0304 or 0x030c */
/* We cannot output two Unicode characters at once. So,
output the first character and buffer the second one. */
*pwc = wc1;
conv->istate = wc2;
return 2;
}
}
}
return RET_ILSEQ;
}
}

#define big5hkscs2004_flushwc normal_flushwc

static int
big5hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
int count = 0;
unsigned char last = conv->ostate;

if (last) {
/* last is = 0x66 or = 0xa7. */
if (wc == 0x0304 || wc == 0x030c) {
/* Output the combined character. */
if (n >= 2) {
r[0] = 0x88;
r[1] = last + ((wc & 24) >> 2) - 4; /* = 0x62 or 0x64 or 0xa3 or 0xa5 */
conv->ostate = 0;
return 2;
} else
return RET_TOOSMALL;
}

/* Output the buffered character. */
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
r += 2;
count = 2;
}

/* Code set 0 (ASCII) */
if (wc < 0x0080) {
/* Plain ASCII character. */
if (n > count) {
r[0] = (unsigned char) wc;
conv->ostate = 0;
return count+1;
} else
return RET_TOOSMALL;
} else {
unsigned char buf[2];
int ret;

/* Code set 1 (BIG5 extended) */
ret = big5_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (!((buf[0] == 0xc6 && buf[1] >= 0xa1) || buf[0] == 0xc7)) {
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
}
ret = hkscs1999_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if ((wc & ~0x0020) == 0x00ca) {
/* A possible first character of a multi-character sequence. We have to
buffer it. */
if (!(buf[0] == 0x88 && (buf[1] == 0x66 || buf[1] == 0xa7))) abort();
conv->ostate = buf[1]; /* = 0x66 or = 0xa7 */
return count+0;
}
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
ret = hkscs2001_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
ret = hkscs2004_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
return RET_ILUNI;
}
}

static int
big5hkscs2004_reset (conv_t conv, unsigned char *r, int n)
{
unsigned char last = conv->ostate;

if (last) {
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
/* conv->ostate = 0; will be done by the caller */
return 2;
} else
return 0;
}
247 changes: 247 additions & 0 deletions Externals/libiconv-1.14/lib/big5hkscs2008.h
@@ -0,0 +1,247 @@
/*
* Copyright (C) 1999-2002, 2006, 2010 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* BIG5-HKSCS:2008
*/

/*
* BIG5-HKSCS:2008 can be downloaded from
* http://www.ogcio.gov.hk/ccli/eng/hkscs/download.html
* http://www.ogcio.gov.hk/ccli/eng/hkscs/introduction.html
*
* It extends BIG5-HKSCS:2004 through 68 characters.
*
* It extends BIG5 (without the rows 0xC6..0xC7) through the ranges
*
* 0x{87..8D}{40..7E,A1..FE} 880 characters
* 0x{8E..A0}{40..7E,A1..FE} 2898 characters
* 0x{C6..C8}{40..7E,A1..FE} 359 characters
* 0xF9{D6..FE} 41 characters
* 0x{FA..FE}{40..7E,A1..FE} 763 characters
*
* Note that some HKSCS characters are not contained in Unicode 3.2
* and are therefore best represented as sequences of Unicode characters:
* 0x8862 U+00CA U+0304 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x8864 U+00CA U+030C LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND CARON
* 0x88A3 U+00EA U+0304 LATIN SMALL LETTER E WITH CIRCUMFLEX AND MACRON
* 0x88A5 U+00EA U+030C LATIN SMALL LETTER E WITH CIRCUMFLEX AND CARON
*/

#include "hkscs2008.h"
#include "flushwc.h"

static int
big5hkscs2008_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
ucs4_t last_wc = conv->istate;
if (last_wc) {
/* Output the buffered character. */
conv->istate = 0;
*pwc = last_wc;
return 0; /* Don't advance the input pointer. */
} else {
unsigned char c = *s;
/* Code set 0 (ASCII) */
if (c < 0x80)
return ascii_mbtowc(conv,pwc,s,n);
/* Code set 1 (BIG5 extended) */
if (c >= 0xa1 && c < 0xff) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
if (!((c == 0xc6 && c2 >= 0xa1) || c == 0xc7)) {
int ret = big5_mbtowc(conv,pwc,s,2);
if (ret != RET_ILSEQ)
return ret;
}
}
}
}
{
int ret = hkscs1999_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
{
int ret = hkscs2001_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
{
int ret = hkscs2004_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
{
int ret = hkscs2008_mbtowc(conv,pwc,s,n);
if (ret != RET_ILSEQ)
return ret;
}
if (c == 0x88) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if (c2 == 0x62 || c2 == 0x64 || c2 == 0xa3 || c2 == 0xa5) {
/* It's a composed character. */
ucs4_t wc1 = ((c2 >> 3) << 2) + 0x009a; /* = 0x00ca or 0x00ea */
ucs4_t wc2 = ((c2 & 6) << 2) + 0x02fc; /* = 0x0304 or 0x030c */
/* We cannot output two Unicode characters at once. So,
output the first character and buffer the second one. */
*pwc = wc1;
conv->istate = wc2;
return 2;
}
}
}
return RET_ILSEQ;
}
}

#define big5hkscs2008_flushwc normal_flushwc

static int
big5hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
int count = 0;
unsigned char last = conv->ostate;

if (last) {
/* last is = 0x66 or = 0xa7. */
if (wc == 0x0304 || wc == 0x030c) {
/* Output the combined character. */
if (n >= 2) {
r[0] = 0x88;
r[1] = last + ((wc & 24) >> 2) - 4; /* = 0x62 or 0x64 or 0xa3 or 0xa5 */
conv->ostate = 0;
return 2;
} else
return RET_TOOSMALL;
}

/* Output the buffered character. */
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
r += 2;
count = 2;
}

/* Code set 0 (ASCII) */
if (wc < 0x0080) {
/* Plain ASCII character. */
if (n > count) {
r[0] = (unsigned char) wc;
conv->ostate = 0;
return count+1;
} else
return RET_TOOSMALL;
} else {
unsigned char buf[2];
int ret;

/* Code set 1 (BIG5 extended) */
ret = big5_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (!((buf[0] == 0xc6 && buf[1] >= 0xa1) || buf[0] == 0xc7)) {
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
}
ret = hkscs1999_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if ((wc & ~0x0020) == 0x00ca) {
/* A possible first character of a multi-character sequence. We have to
buffer it. */
if (!(buf[0] == 0x88 && (buf[1] == 0x66 || buf[1] == 0xa7))) abort();
conv->ostate = buf[1]; /* = 0x66 or = 0xa7 */
return count+0;
}
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
ret = hkscs2001_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
ret = hkscs2004_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
ret = hkscs2008_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n >= count+2) {
r[0] = buf[0];
r[1] = buf[1];
conv->ostate = 0;
return count+2;
} else
return RET_TOOSMALL;
}
return RET_ILUNI;
}
}

static int
big5hkscs2008_reset (conv_t conv, unsigned char *r, int n)
{
unsigned char last = conv->ostate;

if (last) {
if (n < 2)
return RET_TOOSMALL;
r[0] = 0x88;
r[1] = last;
/* conv->ostate = 0; will be done by the caller */
return 2;
} else
return 0;
}
125 changes: 125 additions & 0 deletions Externals/libiconv-1.14/lib/c99.h
@@ -0,0 +1,125 @@
/*
* Copyright (C) 1999-2002 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* C99
* This is ASCII with \uXXXX and \UXXXXXXXX escape sequences, denoting Unicode
* characters. See ISO/IEC 9899:1999, section 6.4.3.
* The treatment of control characters in the range U+0080..U+009F is not
* specified; we pass them through unmodified.
*/

static int
c99_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c;
ucs4_t wc;
int i;

c = s[0];
if (c < 0xa0) {
if (c != '\\') {
*pwc = c;
return 1;
}
if (n < 2)
return RET_TOOFEW(0);
c = s[1];
if (c == 'u') {
wc = 0;
for (i = 2; i < 6; i++) {
if (n <= i)
return RET_TOOFEW(0);
c = s[i];
if (c >= '0' && c <= '9')
c -= '0';
else if (c >= 'A' && c <= 'Z')
c -= 'A'-10;
else if (c >= 'a' && c <= 'z')
c -= 'a'-10;
else
goto simply_backslash;
wc |= (ucs4_t) c << (4 * (5-i));
}
if ((wc >= 0x00a0 && !(wc >= 0xd800 && wc < 0xe000))
|| wc == 0x0024 || wc == 0x0040 || wc == 0x0060) {
*pwc = wc;
return 6;
}
} else if (c == 'U') {
wc = 0;
for (i = 2; i < 10; i++) {
if (n <= i)
return RET_TOOFEW(0);
c = s[i];
if (c >= '0' && c <= '9')
c -= '0';
else if (c >= 'A' && c <= 'Z')
c -= 'A'-10;
else if (c >= 'a' && c <= 'z')
c -= 'a'-10;
else
goto simply_backslash;
wc |= (ucs4_t) c << (4 * (9-i));
}
if ((wc >= 0x00a0 && !(wc >= 0xd800 && wc < 0xe000))
|| wc == 0x0024 || wc == 0x0040 || wc == 0x0060) {
*pwc = wc;
return 10;
}
} else
goto simply_backslash;
}
return RET_ILSEQ;
simply_backslash:
*pwc = '\\';
return 1;
}

static int
c99_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0xa0) {
*r = wc;
return 1;
} else {
int result;
unsigned char u;
if (wc < 0x10000) {
result = 6;
u = 'u';
} else {
result = 10;
u = 'U';
}
if (n >= result) {
int count;
r[0] = '\\';
r[1] = u;
r += 2;
for (count = result-3; count >= 0; count--) {
unsigned int i = (wc >> (4*count)) & 0x0f;
*r++ = (i < 10 ? '0'+i : 'a'-10+i);
}
return result;
} else
return RET_TOOSMALL;
}
}
110 changes: 110 additions & 0 deletions Externals/libiconv-1.14/lib/canonical.h
@@ -0,0 +1,110 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str287,
(int)(long)&((struct stringpool_t *)0)->stringpool_str255,
(int)(long)&((struct stringpool_t *)0)->stringpool_str179,
(int)(long)&((struct stringpool_t *)0)->stringpool_str367,
(int)(long)&((struct stringpool_t *)0)->stringpool_str283,
(int)(long)&((struct stringpool_t *)0)->stringpool_str263,
(int)(long)&((struct stringpool_t *)0)->stringpool_str409,
(int)(long)&((struct stringpool_t *)0)->stringpool_str325,
(int)(long)&((struct stringpool_t *)0)->stringpool_str242,
(int)(long)&((struct stringpool_t *)0)->stringpool_str434,
(int)(long)&((struct stringpool_t *)0)->stringpool_str350,
(int)(long)&((struct stringpool_t *)0)->stringpool_str252,
(int)(long)&((struct stringpool_t *)0)->stringpool_str440,
(int)(long)&((struct stringpool_t *)0)->stringpool_str356,
(int)(long)&((struct stringpool_t *)0)->stringpool_str575,
(int)(long)&((struct stringpool_t *)0)->stringpool_str406,
(int)(long)&((struct stringpool_t *)0)->stringpool_str723,
(int)(long)&((struct stringpool_t *)0)->stringpool_str448,
(int)(long)&((struct stringpool_t *)0)->stringpool_str765,
(int)(long)&((struct stringpool_t *)0)->stringpool_str30,
(int)(long)&((struct stringpool_t *)0)->stringpool_str600,
(int)(long)&((struct stringpool_t *)0)->stringpool_str74,
(int)(long)&((struct stringpool_t *)0)->stringpool_str84,
(int)(long)&((struct stringpool_t *)0)->stringpool_str78,
(int)(long)&((struct stringpool_t *)0)->stringpool_str168,
(int)(long)&((struct stringpool_t *)0)->stringpool_str82,
(int)(long)&((struct stringpool_t *)0)->stringpool_str76,
(int)(long)&((struct stringpool_t *)0)->stringpool_str410,
(int)(long)&((struct stringpool_t *)0)->stringpool_str90,
(int)(long)&((struct stringpool_t *)0)->stringpool_str98,
(int)(long)&((struct stringpool_t *)0)->stringpool_str221,
(int)(long)&((struct stringpool_t *)0)->stringpool_str75,
(int)(long)&((struct stringpool_t *)0)->stringpool_str79,
(int)(long)&((struct stringpool_t *)0)->stringpool_str169,
(int)(long)&((struct stringpool_t *)0)->stringpool_str83,
(int)(long)&((struct stringpool_t *)0)->stringpool_str77,
(int)(long)&((struct stringpool_t *)0)->stringpool_str261,
(int)(long)&((struct stringpool_t *)0)->stringpool_str403,
(int)(long)&((struct stringpool_t *)0)->stringpool_str480,
(int)(long)&((struct stringpool_t *)0)->stringpool_str164,
(int)(long)&((struct stringpool_t *)0)->stringpool_str18,
(int)(long)&((struct stringpool_t *)0)->stringpool_str28,
(int)(long)&((struct stringpool_t *)0)->stringpool_str22,
(int)(long)&((struct stringpool_t *)0)->stringpool_str112,
(int)(long)&((struct stringpool_t *)0)->stringpool_str26,
(int)(long)&((struct stringpool_t *)0)->stringpool_str20,
(int)(long)&((struct stringpool_t *)0)->stringpool_str354,
(int)(long)&((struct stringpool_t *)0)->stringpool_str34,
(int)(long)&((struct stringpool_t *)0)->stringpool_str166,
(int)(long)&((struct stringpool_t *)0)->stringpool_str27,
(int)(long)&((struct stringpool_t *)0)->stringpool_str19,
(int)(long)&((struct stringpool_t *)0)->stringpool_str11,
(int)(long)&((struct stringpool_t *)0)->stringpool_str451,
(int)(long)&((struct stringpool_t *)0)->stringpool_str531,
(int)(long)&((struct stringpool_t *)0)->stringpool_str355,
(int)(long)&((struct stringpool_t *)0)->stringpool_str501,
(int)(long)&((struct stringpool_t *)0)->stringpool_str673,
(int)(long)&((struct stringpool_t *)0)->stringpool_str302,
(int)(long)&((struct stringpool_t *)0)->stringpool_str621,
(int)(long)&((struct stringpool_t *)0)->stringpool_str577,
(int)(long)&((struct stringpool_t *)0)->stringpool_str786,
(int)(long)&((struct stringpool_t *)0)->stringpool_str908,
(int)(long)&((struct stringpool_t *)0)->stringpool_str563,
(int)(long)&((struct stringpool_t *)0)->stringpool_str445,
(int)(long)&((struct stringpool_t *)0)->stringpool_str502,
(int)(long)&((struct stringpool_t *)0)->stringpool_str475,
(int)(long)&((struct stringpool_t *)0)->stringpool_str279,
(int)(long)&((struct stringpool_t *)0)->stringpool_str626,
(int)(long)&((struct stringpool_t *)0)->stringpool_str614,
(int)(long)&((struct stringpool_t *)0)->stringpool_str217,
(int)(long)&((struct stringpool_t *)0)->stringpool_str212,
(int)(long)&((struct stringpool_t *)0)->stringpool_str218,
(int)(long)&((struct stringpool_t *)0)->stringpool_str371,
(int)(long)&((struct stringpool_t *)0)->stringpool_str15,
(int)(long)&((struct stringpool_t *)0)->stringpool_str230,
(int)(long)&((struct stringpool_t *)0)->stringpool_str278,
(int)(long)&((struct stringpool_t *)0)->stringpool_str124,
(int)(long)&((struct stringpool_t *)0)->stringpool_str180,
(int)(long)&((struct stringpool_t *)0)->stringpool_str413,
(int)(long)&((struct stringpool_t *)0)->stringpool_str555,
(int)(long)&((struct stringpool_t *)0)->stringpool_str571,
(int)(long)&((struct stringpool_t *)0)->stringpool_str492,
(int)(long)&((struct stringpool_t *)0)->stringpool_str384,
(int)(long)&((struct stringpool_t *)0)->stringpool_str368,
(int)(long)&((struct stringpool_t *)0)->stringpool_str127,
(int)(long)&((struct stringpool_t *)0)->stringpool_str202,
(int)(long)&((struct stringpool_t *)0)->stringpool_str535,
(int)(long)&((struct stringpool_t *)0)->stringpool_str429,
(int)(long)&((struct stringpool_t *)0)->stringpool_str32,
(int)(long)&((struct stringpool_t *)0)->stringpool_str607,
(int)(long)&((struct stringpool_t *)0)->stringpool_str500,
(int)(long)&((struct stringpool_t *)0)->stringpool_str505,
(int)(long)&((struct stringpool_t *)0)->stringpool_str70,
(int)(long)&((struct stringpool_t *)0)->stringpool_str303,
(int)(long)&((struct stringpool_t *)0)->stringpool_str24,
(int)(long)&((struct stringpool_t *)0)->stringpool_str378,
(int)(long)&((struct stringpool_t *)0)->stringpool_str142,
(int)(long)&((struct stringpool_t *)0)->stringpool_str196,
(int)(long)&((struct stringpool_t *)0)->stringpool_str159,
(int)(long)&((struct stringpool_t *)0)->stringpool_str473,
(int)(long)&((struct stringpool_t *)0)->stringpool_str277,
(int)(long)&((struct stringpool_t *)0)->stringpool_str170,
(int)(long)&((struct stringpool_t *)0)->stringpool_str900,
(int)(long)&((struct stringpool_t *)0)->stringpool_str888,
(int)(long)&((struct stringpool_t *)0)->stringpool_str935,
(int)(long)&((struct stringpool_t *)0)->stringpool_str527,
(int)(long)&((struct stringpool_t *)0)->stringpool_str290,
(int)(long)&((struct stringpool_t *)0)->stringpool_str91,
(int)(long)&((struct stringpool_t *)0)->stringpool_str768,
(int)(long)&((struct stringpool_t *)0)->stringpool_str362,
9 changes: 9 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_aix.h
@@ -0,0 +1,9 @@
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_0,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_1,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_2,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_3,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_4,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_5,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_6,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_10,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_14,
9 changes: 9 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_aix_sysaix.h
@@ -0,0 +1,9 @@
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_0,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_2,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_4,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_6,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_8,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_10,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_12,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_16,
(int)(long)&((struct stringpool2_t *)0)->stringpool_aix_20,
15 changes: 15 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_dos.h
@@ -0,0 +1,15 @@
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_0,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_4,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_5,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_8,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_12,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_13,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_17,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_21,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_22,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_26,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_31,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_35,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_38,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_42,
(int)(long)&((struct stringpool2_t *)0)->stringpool_dos_47,
7 changes: 7 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_extra.h
@@ -0,0 +1,7 @@
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_0,
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_2,
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_4,
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_6,
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_7,
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_9,
(int)(long)&((struct stringpool2_t *)0)->stringpool_extra_11,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_local.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str271,
(int)(long)&((struct stringpool_t *)0)->stringpool_str664,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_local_sysaix.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str307,
(int)(long)&((struct stringpool_t *)0)->stringpool_str543,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_local_syshpux.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str258,
(int)(long)&((struct stringpool_t *)0)->stringpool_str390,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_local_sysosf1.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str275,
(int)(long)&((struct stringpool_t *)0)->stringpool_str465,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_local_syssolaris.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str38,
(int)(long)&((struct stringpool_t *)0)->stringpool_str515,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_osf1.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool2_t *)0)->stringpool_osf1_0,
(int)(long)&((struct stringpool2_t *)0)->stringpool_osf1_1,
2 changes: 2 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_osf1_sysosf1.h
@@ -0,0 +1,2 @@
(int)(long)&((struct stringpool2_t *)0)->stringpool_osf1_0,
(int)(long)&((struct stringpool2_t *)0)->stringpool_osf1_2,
110 changes: 110 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_sysaix.h
@@ -0,0 +1,110 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str383,
(int)(long)&((struct stringpool_t *)0)->stringpool_str363,
(int)(long)&((struct stringpool_t *)0)->stringpool_str231,
(int)(long)&((struct stringpool_t *)0)->stringpool_str604,
(int)(long)&((struct stringpool_t *)0)->stringpool_str483,
(int)(long)&((struct stringpool_t *)0)->stringpool_str327,
(int)(long)&((struct stringpool_t *)0)->stringpool_str652,
(int)(long)&((struct stringpool_t *)0)->stringpool_str531,
(int)(long)&((struct stringpool_t *)0)->stringpool_str358,
(int)(long)&((struct stringpool_t *)0)->stringpool_str733,
(int)(long)&((struct stringpool_t *)0)->stringpool_str612,
(int)(long)&((struct stringpool_t *)0)->stringpool_str364,
(int)(long)&((struct stringpool_t *)0)->stringpool_str737,
(int)(long)&((struct stringpool_t *)0)->stringpool_str616,
(int)(long)&((struct stringpool_t *)0)->stringpool_str685,
(int)(long)&((struct stringpool_t *)0)->stringpool_str501,
(int)(long)&((struct stringpool_t *)0)->stringpool_str654,
(int)(long)&((struct stringpool_t *)0)->stringpool_str549,
(int)(long)&((struct stringpool_t *)0)->stringpool_str702,
(int)(long)&((struct stringpool_t *)0)->stringpool_str53,
(int)(long)&((struct stringpool_t *)0)->stringpool_str891,
(int)(long)&((struct stringpool_t *)0)->stringpool_str103,
(int)(long)&((struct stringpool_t *)0)->stringpool_str109,
(int)(long)&((struct stringpool_t *)0)->stringpool_str107,
(int)(long)&((struct stringpool_t *)0)->stringpool_str205,
(int)(long)&((struct stringpool_t *)0)->stringpool_str111,
(int)(long)&((struct stringpool_t *)0)->stringpool_str105,
(int)(long)&((struct stringpool_t *)0)->stringpool_str437,
(int)(long)&((struct stringpool_t *)0)->stringpool_str115,
(int)(long)&((struct stringpool_t *)0)->stringpool_str141,
(int)(long)&((struct stringpool_t *)0)->stringpool_str246,
(int)(long)&((struct stringpool_t *)0)->stringpool_str108,
(int)(long)&((struct stringpool_t *)0)->stringpool_str112,
(int)(long)&((struct stringpool_t *)0)->stringpool_str210,
(int)(long)&((struct stringpool_t *)0)->stringpool_str116,
(int)(long)&((struct stringpool_t *)0)->stringpool_str110,
(int)(long)&((struct stringpool_t *)0)->stringpool_str254,
(int)(long)&((struct stringpool_t *)0)->stringpool_str492,
(int)(long)&((struct stringpool_t *)0)->stringpool_str569,
(int)(long)&((struct stringpool_t *)0)->stringpool_str175,
(int)(long)&((struct stringpool_t *)0)->stringpool_str37,
(int)(long)&((struct stringpool_t *)0)->stringpool_str43,
(int)(long)&((struct stringpool_t *)0)->stringpool_str41,
(int)(long)&((struct stringpool_t *)0)->stringpool_str139,
(int)(long)&((struct stringpool_t *)0)->stringpool_str45,
(int)(long)&((struct stringpool_t *)0)->stringpool_str39,
(int)(long)&((struct stringpool_t *)0)->stringpool_str371,
(int)(long)&((struct stringpool_t *)0)->stringpool_str49,
(int)(long)&((struct stringpool_t *)0)->stringpool_str173,
(int)(long)&((struct stringpool_t *)0)->stringpool_str38,
(int)(long)&((struct stringpool_t *)0)->stringpool_str34,
(int)(long)&((struct stringpool_t *)0)->stringpool_str32,
(int)(long)&((struct stringpool_t *)0)->stringpool_str525,
(int)(long)&((struct stringpool_t *)0)->stringpool_str797,
(int)(long)&((struct stringpool_t *)0)->stringpool_str462,
(int)(long)&((struct stringpool_t *)0)->stringpool_str583,
(int)(long)&((struct stringpool_t *)0)->stringpool_str807,
(int)(long)&((struct stringpool_t *)0)->stringpool_str272,
(int)(long)&((struct stringpool_t *)0)->stringpool_str898,
(int)(long)&((struct stringpool_t *)0)->stringpool_str606,
(int)(long)&((struct stringpool_t *)0)->stringpool_str662,
(int)(long)&((struct stringpool_t *)0)->stringpool_str989,
(int)(long)&((struct stringpool_t *)0)->stringpool_str648,
(int)(long)&((struct stringpool_t *)0)->stringpool_str391,
(int)(long)&((struct stringpool_t *)0)->stringpool_str487,
(int)(long)&((struct stringpool_t *)0)->stringpool_str413,
(int)(long)&((struct stringpool_t *)0)->stringpool_str330,
(int)(long)&((struct stringpool_t *)0)->stringpool_str461,
(int)(long)&((struct stringpool_t *)0)->stringpool_str335,
(int)(long)&((struct stringpool_t *)0)->stringpool_str152,
(int)(long)&((struct stringpool_t *)0)->stringpool_str171,
(int)(long)&((struct stringpool_t *)0)->stringpool_str234,
(int)(long)&((struct stringpool_t *)0)->stringpool_str445,
(int)(long)&((struct stringpool_t *)0)->stringpool_str36,
(int)(long)&((struct stringpool_t *)0)->stringpool_str207,
(int)(long)&((struct stringpool_t *)0)->stringpool_str300,
(int)(long)&((struct stringpool_t *)0)->stringpool_str217,
(int)(long)&((struct stringpool_t *)0)->stringpool_str256,
(int)(long)&((struct stringpool_t *)0)->stringpool_str567,
(int)(long)&((struct stringpool_t *)0)->stringpool_str723,
(int)(long)&((struct stringpool_t *)0)->stringpool_str735,
(int)(long)&((struct stringpool_t *)0)->stringpool_str660,
(int)(long)&((struct stringpool_t *)0)->stringpool_str258,
(int)(long)&((struct stringpool_t *)0)->stringpool_str235,
(int)(long)&((struct stringpool_t *)0)->stringpool_str149,
(int)(long)&((struct stringpool_t *)0)->stringpool_str202,
(int)(long)&((struct stringpool_t *)0)->stringpool_str638,
(int)(long)&((struct stringpool_t *)0)->stringpool_str613,
(int)(long)&((struct stringpool_t *)0)->stringpool_str52,
(int)(long)&((struct stringpool_t *)0)->stringpool_str629,
(int)(long)&((struct stringpool_t *)0)->stringpool_str591,
(int)(long)&((struct stringpool_t *)0)->stringpool_str594,
(int)(long)&((struct stringpool_t *)0)->stringpool_str188,
(int)(long)&((struct stringpool_t *)0)->stringpool_str146,
(int)(long)&((struct stringpool_t *)0)->stringpool_str48,
(int)(long)&((struct stringpool_t *)0)->stringpool_str251,
(int)(long)&((struct stringpool_t *)0)->stringpool_str179,
(int)(long)&((struct stringpool_t *)0)->stringpool_str190,
(int)(long)&((struct stringpool_t *)0)->stringpool_str92,
(int)(long)&((struct stringpool_t *)0)->stringpool_str495,
(int)(long)&((struct stringpool_t *)0)->stringpool_str153,
(int)(long)&((struct stringpool_t *)0)->stringpool_str186,
(int)(long)&((struct stringpool_t *)0)->stringpool_str603,
(int)(long)&((struct stringpool_t *)0)->stringpool_str584,
(int)(long)&((struct stringpool_t *)0)->stringpool_str635,
(int)(long)&((struct stringpool_t *)0)->stringpool_str324,
(int)(long)&((struct stringpool_t *)0)->stringpool_str369,
(int)(long)&((struct stringpool_t *)0)->stringpool_str133,
(int)(long)&((struct stringpool_t *)0)->stringpool_str885,
(int)(long)&((struct stringpool_t *)0)->stringpool_str360,
110 changes: 110 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_syshpux.h
@@ -0,0 +1,110 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str310,
(int)(long)&((struct stringpool_t *)0)->stringpool_str368,
(int)(long)&((struct stringpool_t *)0)->stringpool_str293,
(int)(long)&((struct stringpool_t *)0)->stringpool_str464,
(int)(long)&((struct stringpool_t *)0)->stringpool_str525,
(int)(long)&((struct stringpool_t *)0)->stringpool_str395,
(int)(long)&((struct stringpool_t *)0)->stringpool_str515,
(int)(long)&((struct stringpool_t *)0)->stringpool_str576,
(int)(long)&((struct stringpool_t *)0)->stringpool_str355,
(int)(long)&((struct stringpool_t *)0)->stringpool_str521,
(int)(long)&((struct stringpool_t *)0)->stringpool_str582,
(int)(long)&((struct stringpool_t *)0)->stringpool_str363,
(int)(long)&((struct stringpool_t *)0)->stringpool_str534,
(int)(long)&((struct stringpool_t *)0)->stringpool_str595,
(int)(long)&((struct stringpool_t *)0)->stringpool_str440,
(int)(long)&((struct stringpool_t *)0)->stringpool_str665,
(int)(long)&((struct stringpool_t *)0)->stringpool_str644,
(int)(long)&((struct stringpool_t *)0)->stringpool_str716,
(int)(long)&((struct stringpool_t *)0)->stringpool_str695,
(int)(long)&((struct stringpool_t *)0)->stringpool_str36,
(int)(long)&((struct stringpool_t *)0)->stringpool_str596,
(int)(long)&((struct stringpool_t *)0)->stringpool_str64,
(int)(long)&((struct stringpool_t *)0)->stringpool_str60,
(int)(long)&((struct stringpool_t *)0)->stringpool_str100,
(int)(long)&((struct stringpool_t *)0)->stringpool_str162,
(int)(long)&((struct stringpool_t *)0)->stringpool_str76,
(int)(long)&((struct stringpool_t *)0)->stringpool_str70,
(int)(long)&((struct stringpool_t *)0)->stringpool_str158,
(int)(long)&((struct stringpool_t *)0)->stringpool_str86,
(int)(long)&((struct stringpool_t *)0)->stringpool_str92,
(int)(long)&((struct stringpool_t *)0)->stringpool_str177,
(int)(long)&((struct stringpool_t *)0)->stringpool_str67,
(int)(long)&((struct stringpool_t *)0)->stringpool_str103,
(int)(long)&((struct stringpool_t *)0)->stringpool_str165,
(int)(long)&((struct stringpool_t *)0)->stringpool_str79,
(int)(long)&((struct stringpool_t *)0)->stringpool_str73,
(int)(long)&((struct stringpool_t *)0)->stringpool_str345,
(int)(long)&((struct stringpool_t *)0)->stringpool_str669,
(int)(long)&((struct stringpool_t *)0)->stringpool_str790,
(int)(long)&((struct stringpool_t *)0)->stringpool_str131,
(int)(long)&((struct stringpool_t *)0)->stringpool_str21,
(int)(long)&((struct stringpool_t *)0)->stringpool_str17,
(int)(long)&((struct stringpool_t *)0)->stringpool_str57,
(int)(long)&((struct stringpool_t *)0)->stringpool_str119,
(int)(long)&((struct stringpool_t *)0)->stringpool_str33,
(int)(long)&((struct stringpool_t *)0)->stringpool_str27,
(int)(long)&((struct stringpool_t *)0)->stringpool_str115,
(int)(long)&((struct stringpool_t *)0)->stringpool_str43,
(int)(long)&((struct stringpool_t *)0)->stringpool_str141,
(int)(long)&((struct stringpool_t *)0)->stringpool_str24,
(int)(long)&((struct stringpool_t *)0)->stringpool_str34,
(int)(long)&((struct stringpool_t *)0)->stringpool_str35,
(int)(long)&((struct stringpool_t *)0)->stringpool_str448,
(int)(long)&((struct stringpool_t *)0)->stringpool_str561,
(int)(long)&((struct stringpool_t *)0)->stringpool_str410,
(int)(long)&((struct stringpool_t *)0)->stringpool_str335,
(int)(long)&((struct stringpool_t *)0)->stringpool_str470,
(int)(long)&((struct stringpool_t *)0)->stringpool_str704,
(int)(long)&((struct stringpool_t *)0)->stringpool_str685,
(int)(long)&((struct stringpool_t *)0)->stringpool_str607,
(int)(long)&((struct stringpool_t *)0)->stringpool_str689,
(int)(long)&((struct stringpool_t *)0)->stringpool_str800,
(int)(long)&((struct stringpool_t *)0)->stringpool_str454,
(int)(long)&((struct stringpool_t *)0)->stringpool_str195,
(int)(long)&((struct stringpool_t *)0)->stringpool_str331,
(int)(long)&((struct stringpool_t *)0)->stringpool_str484,
(int)(long)&((struct stringpool_t *)0)->stringpool_str202,
(int)(long)&((struct stringpool_t *)0)->stringpool_str449,
(int)(long)&((struct stringpool_t *)0)->stringpool_str513,
(int)(long)&((struct stringpool_t *)0)->stringpool_str139,
(int)(long)&((struct stringpool_t *)0)->stringpool_str190,
(int)(long)&((struct stringpool_t *)0)->stringpool_str262,
(int)(long)&((struct stringpool_t *)0)->stringpool_str603,
(int)(long)&((struct stringpool_t *)0)->stringpool_str71,
(int)(long)&((struct stringpool_t *)0)->stringpool_str149,
(int)(long)&((struct stringpool_t *)0)->stringpool_str170,
(int)(long)&((struct stringpool_t *)0)->stringpool_str251,
(int)(long)&((struct stringpool_t *)0)->stringpool_str271,
(int)(long)&((struct stringpool_t *)0)->stringpool_str450,
(int)(long)&((struct stringpool_t *)0)->stringpool_str769,
(int)(long)&((struct stringpool_t *)0)->stringpool_str791,
(int)(long)&((struct stringpool_t *)0)->stringpool_str710,
(int)(long)&((struct stringpool_t *)0)->stringpool_str354,
(int)(long)&((struct stringpool_t *)0)->stringpool_str332,
(int)(long)&((struct stringpool_t *)0)->stringpool_str153,
(int)(long)&((struct stringpool_t *)0)->stringpool_str203,
(int)(long)&((struct stringpool_t *)0)->stringpool_str491,
(int)(long)&((struct stringpool_t *)0)->stringpool_str461,
(int)(long)&((struct stringpool_t *)0)->stringpool_str42,
(int)(long)&((struct stringpool_t *)0)->stringpool_str542,
(int)(long)&((struct stringpool_t *)0)->stringpool_str473,
(int)(long)&((struct stringpool_t *)0)->stringpool_str471,
(int)(long)&((struct stringpool_t *)0)->stringpool_str30,
(int)(long)&((struct stringpool_t *)0)->stringpool_str314,
(int)(long)&((struct stringpool_t *)0)->stringpool_str52,
(int)(long)&((struct stringpool_t *)0)->stringpool_str352,
(int)(long)&((struct stringpool_t *)0)->stringpool_str81,
(int)(long)&((struct stringpool_t *)0)->stringpool_str96,
(int)(long)&((struct stringpool_t *)0)->stringpool_str12,
(int)(long)&((struct stringpool_t *)0)->stringpool_str378,
(int)(long)&((struct stringpool_t *)0)->stringpool_str308,
(int)(long)&((struct stringpool_t *)0)->stringpool_str144,
(int)(long)&((struct stringpool_t *)0)->stringpool_str771,
(int)(long)&((struct stringpool_t *)0)->stringpool_str757,
(int)(long)&((struct stringpool_t *)0)->stringpool_str806,
(int)(long)&((struct stringpool_t *)0)->stringpool_str421,
(int)(long)&((struct stringpool_t *)0)->stringpool_str343,
(int)(long)&((struct stringpool_t *)0)->stringpool_str105,
(int)(long)&((struct stringpool_t *)0)->stringpool_str654,
(int)(long)&((struct stringpool_t *)0)->stringpool_str394,
110 changes: 110 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_sysosf1.h
@@ -0,0 +1,110 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str343,
(int)(long)&((struct stringpool_t *)0)->stringpool_str294,
(int)(long)&((struct stringpool_t *)0)->stringpool_str223,
(int)(long)&((struct stringpool_t *)0)->stringpool_str591,
(int)(long)&((struct stringpool_t *)0)->stringpool_str433,
(int)(long)&((struct stringpool_t *)0)->stringpool_str319,
(int)(long)&((struct stringpool_t *)0)->stringpool_str639,
(int)(long)&((struct stringpool_t *)0)->stringpool_str481,
(int)(long)&((struct stringpool_t *)0)->stringpool_str289,
(int)(long)&((struct stringpool_t *)0)->stringpool_str659,
(int)(long)&((struct stringpool_t *)0)->stringpool_str501,
(int)(long)&((struct stringpool_t *)0)->stringpool_str295,
(int)(long)&((struct stringpool_t *)0)->stringpool_str663,
(int)(long)&((struct stringpool_t *)0)->stringpool_str505,
(int)(long)&((struct stringpool_t *)0)->stringpool_str586,
(int)(long)&((struct stringpool_t *)0)->stringpool_str472,
(int)(long)&((struct stringpool_t *)0)->stringpool_str695,
(int)(long)&((struct stringpool_t *)0)->stringpool_str520,
(int)(long)&((struct stringpool_t *)0)->stringpool_str743,
(int)(long)&((struct stringpool_t *)0)->stringpool_str53,
(int)(long)&((struct stringpool_t *)0)->stringpool_str711,
(int)(long)&((struct stringpool_t *)0)->stringpool_str103,
(int)(long)&((struct stringpool_t *)0)->stringpool_str109,
(int)(long)&((struct stringpool_t *)0)->stringpool_str107,
(int)(long)&((struct stringpool_t *)0)->stringpool_str205,
(int)(long)&((struct stringpool_t *)0)->stringpool_str111,
(int)(long)&((struct stringpool_t *)0)->stringpool_str105,
(int)(long)&((struct stringpool_t *)0)->stringpool_str407,
(int)(long)&((struct stringpool_t *)0)->stringpool_str115,
(int)(long)&((struct stringpool_t *)0)->stringpool_str141,
(int)(long)&((struct stringpool_t *)0)->stringpool_str246,
(int)(long)&((struct stringpool_t *)0)->stringpool_str108,
(int)(long)&((struct stringpool_t *)0)->stringpool_str112,
(int)(long)&((struct stringpool_t *)0)->stringpool_str210,
(int)(long)&((struct stringpool_t *)0)->stringpool_str116,
(int)(long)&((struct stringpool_t *)0)->stringpool_str110,
(int)(long)&((struct stringpool_t *)0)->stringpool_str280,
(int)(long)&((struct stringpool_t *)0)->stringpool_str410,
(int)(long)&((struct stringpool_t *)0)->stringpool_str487,
(int)(long)&((struct stringpool_t *)0)->stringpool_str175,
(int)(long)&((struct stringpool_t *)0)->stringpool_str37,
(int)(long)&((struct stringpool_t *)0)->stringpool_str43,
(int)(long)&((struct stringpool_t *)0)->stringpool_str41,
(int)(long)&((struct stringpool_t *)0)->stringpool_str139,
(int)(long)&((struct stringpool_t *)0)->stringpool_str45,
(int)(long)&((struct stringpool_t *)0)->stringpool_str39,
(int)(long)&((struct stringpool_t *)0)->stringpool_str341,
(int)(long)&((struct stringpool_t *)0)->stringpool_str49,
(int)(long)&((struct stringpool_t *)0)->stringpool_str173,
(int)(long)&((struct stringpool_t *)0)->stringpool_str38,
(int)(long)&((struct stringpool_t *)0)->stringpool_str34,
(int)(long)&((struct stringpool_t *)0)->stringpool_str32,
(int)(long)&((struct stringpool_t *)0)->stringpool_str543,
(int)(long)&((struct stringpool_t *)0)->stringpool_str727,
(int)(long)&((struct stringpool_t *)0)->stringpool_str428,
(int)(long)&((struct stringpool_t *)0)->stringpool_str544,
(int)(long)&((struct stringpool_t *)0)->stringpool_str761,
(int)(long)&((struct stringpool_t *)0)->stringpool_str281,
(int)(long)&((struct stringpool_t *)0)->stringpool_str821,
(int)(long)&((struct stringpool_t *)0)->stringpool_str649,
(int)(long)&((struct stringpool_t *)0)->stringpool_str661,
(int)(long)&((struct stringpool_t *)0)->stringpool_str939,
(int)(long)&((struct stringpool_t *)0)->stringpool_str646,
(int)(long)&((struct stringpool_t *)0)->stringpool_str362,
(int)(long)&((struct stringpool_t *)0)->stringpool_str458,
(int)(long)&((struct stringpool_t *)0)->stringpool_str500,
(int)(long)&((struct stringpool_t *)0)->stringpool_str369,
(int)(long)&((struct stringpool_t *)0)->stringpool_str397,
(int)(long)&((struct stringpool_t *)0)->stringpool_str442,
(int)(long)&((struct stringpool_t *)0)->stringpool_str178,
(int)(long)&((struct stringpool_t *)0)->stringpool_str202,
(int)(long)&((struct stringpool_t *)0)->stringpool_str234,
(int)(long)&((struct stringpool_t *)0)->stringpool_str417,
(int)(long)&((struct stringpool_t *)0)->stringpool_str36,
(int)(long)&((struct stringpool_t *)0)->stringpool_str253,
(int)(long)&((struct stringpool_t *)0)->stringpool_str285,
(int)(long)&((struct stringpool_t *)0)->stringpool_str245,
(int)(long)&((struct stringpool_t *)0)->stringpool_str238,
(int)(long)&((struct stringpool_t *)0)->stringpool_str515,
(int)(long)&((struct stringpool_t *)0)->stringpool_str671,
(int)(long)&((struct stringpool_t *)0)->stringpool_str683,
(int)(long)&((struct stringpool_t *)0)->stringpool_str608,
(int)(long)&((struct stringpool_t *)0)->stringpool_str266,
(int)(long)&((struct stringpool_t *)0)->stringpool_str243,
(int)(long)&((struct stringpool_t *)0)->stringpool_str149,
(int)(long)&((struct stringpool_t *)0)->stringpool_str228,
(int)(long)&((struct stringpool_t *)0)->stringpool_str581,
(int)(long)&((struct stringpool_t *)0)->stringpool_str638,
(int)(long)&((struct stringpool_t *)0)->stringpool_str52,
(int)(long)&((struct stringpool_t *)0)->stringpool_str593,
(int)(long)&((struct stringpool_t *)0)->stringpool_str524,
(int)(long)&((struct stringpool_t *)0)->stringpool_str527,
(int)(long)&((struct stringpool_t *)0)->stringpool_str167,
(int)(long)&((struct stringpool_t *)0)->stringpool_str206,
(int)(long)&((struct stringpool_t *)0)->stringpool_str48,
(int)(long)&((struct stringpool_t *)0)->stringpool_str259,
(int)(long)&((struct stringpool_t *)0)->stringpool_str179,
(int)(long)&((struct stringpool_t *)0)->stringpool_str190,
(int)(long)&((struct stringpool_t *)0)->stringpool_str60,
(int)(long)&((struct stringpool_t *)0)->stringpool_str426,
(int)(long)&((struct stringpool_t *)0)->stringpool_str198,
(int)(long)&((struct stringpool_t *)0)->stringpool_str186,
(int)(long)&((struct stringpool_t *)0)->stringpool_str784,
(int)(long)&((struct stringpool_t *)0)->stringpool_str765,
(int)(long)&((struct stringpool_t *)0)->stringpool_str816,
(int)(long)&((struct stringpool_t *)0)->stringpool_str511,
(int)(long)&((struct stringpool_t *)0)->stringpool_str374,
(int)(long)&((struct stringpool_t *)0)->stringpool_str133,
(int)(long)&((struct stringpool_t *)0)->stringpool_str807,
(int)(long)&((struct stringpool_t *)0)->stringpool_str386,
110 changes: 110 additions & 0 deletions Externals/libiconv-1.14/lib/canonical_syssolaris.h
@@ -0,0 +1,110 @@
(int)(long)&((struct stringpool_t *)0)->stringpool_str463,
(int)(long)&((struct stringpool_t *)0)->stringpool_str258,
(int)(long)&((struct stringpool_t *)0)->stringpool_str314,
(int)(long)&((struct stringpool_t *)0)->stringpool_str482,
(int)(long)&((struct stringpool_t *)0)->stringpool_str365,
(int)(long)&((struct stringpool_t *)0)->stringpool_str278,
(int)(long)&((struct stringpool_t *)0)->stringpool_str464,
(int)(long)&((struct stringpool_t *)0)->stringpool_str347,
(int)(long)&((struct stringpool_t *)0)->stringpool_str279,
(int)(long)&((struct stringpool_t *)0)->stringpool_str470,
(int)(long)&((struct stringpool_t *)0)->stringpool_str353,
(int)(long)&((struct stringpool_t *)0)->stringpool_str378,
(int)(long)&((struct stringpool_t *)0)->stringpool_str546,
(int)(long)&((struct stringpool_t *)0)->stringpool_str429,
(int)(long)&((struct stringpool_t *)0)->stringpool_str588,
(int)(long)&((struct stringpool_t *)0)->stringpool_str510,
(int)(long)&((struct stringpool_t *)0)->stringpool_str563,
(int)(long)&((struct stringpool_t *)0)->stringpool_str492,
(int)(long)&((struct stringpool_t *)0)->stringpool_str545,
(int)(long)&((struct stringpool_t *)0)->stringpool_str30,
(int)(long)&((struct stringpool_t *)0)->stringpool_str569,
(int)(long)&((struct stringpool_t *)0)->stringpool_str124,
(int)(long)&((struct stringpool_t *)0)->stringpool_str184,
(int)(long)&((struct stringpool_t *)0)->stringpool_str230,
(int)(long)&((struct stringpool_t *)0)->stringpool_str148,
(int)(long)&((struct stringpool_t *)0)->stringpool_str160,
(int)(long)&((struct stringpool_t *)0)->stringpool_str138,
(int)(long)&((struct stringpool_t *)0)->stringpool_str452,
(int)(long)&((struct stringpool_t *)0)->stringpool_str122,
(int)(long)&((struct stringpool_t *)0)->stringpool_str136,
(int)(long)&((struct stringpool_t *)0)->stringpool_str175,
(int)(long)&((struct stringpool_t *)0)->stringpool_str129,
(int)(long)&((struct stringpool_t *)0)->stringpool_str235,
(int)(long)&((struct stringpool_t *)0)->stringpool_str153,
(int)(long)&((struct stringpool_t *)0)->stringpool_str165,
(int)(long)&((struct stringpool_t *)0)->stringpool_str143,
(int)(long)&((struct stringpool_t *)0)->stringpool_str276,
(int)(long)&((struct stringpool_t *)0)->stringpool_str680,
(int)(long)&((struct stringpool_t *)0)->stringpool_str684,
(int)(long)&((struct stringpool_t *)0)->stringpool_str127,
(int)(long)&((struct stringpool_t *)0)->stringpool_str81,
(int)(long)&((struct stringpool_t *)0)->stringpool_str141,
(int)(long)&((struct stringpool_t *)0)->stringpool_str187,
(int)(long)&((struct stringpool_t *)0)->stringpool_str105,
(int)(long)&((struct stringpool_t *)0)->stringpool_str117,
(int)(long)&((struct stringpool_t *)0)->stringpool_str95,
(int)(long)&((struct stringpool_t *)0)->stringpool_str409,
(int)(long)&((struct stringpool_t *)0)->stringpool_str79,
(int)(long)&((struct stringpool_t *)0)->stringpool_str91,
(int)(long)&((struct stringpool_t *)0)->stringpool_str94,
(int)(long)&((struct stringpool_t *)0)->stringpool_str48,
(int)(long)&((struct stringpool_t *)0)->stringpool_str86,
(int)(long)&((struct stringpool_t *)0)->stringpool_str387,
(int)(long)&((struct stringpool_t *)0)->stringpool_str451,
(int)(long)&((struct stringpool_t *)0)->stringpool_str346,
(int)(long)&((struct stringpool_t *)0)->stringpool_str415,
(int)(long)&((struct stringpool_t *)0)->stringpool_str489,
(int)(long)&((struct stringpool_t *)0)->stringpool_str389,
(int)(long)&((struct stringpool_t *)0)->stringpool_str752,
(int)(long)&((struct stringpool_t *)0)->stringpool_str774,
(int)(long)&((struct stringpool_t *)0)->stringpool_str953,
(int)(long)&((struct stringpool_t *)0)->stringpool_str853,
(int)(long)&((struct stringpool_t *)0)->stringpool_str432,
(int)(long)&((struct stringpool_t *)0)->stringpool_str513,
(int)(long)&((struct stringpool_t *)0)->stringpool_str297,
(int)(long)&((struct stringpool_t *)0)->stringpool_str502,
(int)(long)&((struct stringpool_t *)0)->stringpool_str372,
(int)(long)&((struct stringpool_t *)0)->stringpool_str412,
(int)(long)&((struct stringpool_t *)0)->stringpool_str419,
(int)(long)&((struct stringpool_t *)0)->stringpool_str478,
(int)(long)&((struct stringpool_t *)0)->stringpool_str71,
(int)(long)&((struct stringpool_t *)0)->stringpool_str62,
(int)(long)&((struct stringpool_t *)0)->stringpool_str266,
(int)(long)&((struct stringpool_t *)0)->stringpool_str192,
(int)(long)&((struct stringpool_t *)0)->stringpool_str246,
(int)(long)&((struct stringpool_t *)0)->stringpool_str215,
(int)(long)&((struct stringpool_t *)0)->stringpool_str424,
(int)(long)&((struct stringpool_t *)0)->stringpool_str307,
(int)(long)&((struct stringpool_t *)0)->stringpool_str507,
(int)(long)&((struct stringpool_t *)0)->stringpool_str669,
(int)(long)&((struct stringpool_t *)0)->stringpool_str667,
(int)(long)&((struct stringpool_t *)0)->stringpool_str706,
(int)(long)&((struct stringpool_t *)0)->stringpool_str211,
(int)(long)&((struct stringpool_t *)0)->stringpool_str320,
(int)(long)&((struct stringpool_t *)0)->stringpool_str202,
(int)(long)&((struct stringpool_t *)0)->stringpool_str283,
(int)(long)&((struct stringpool_t *)0)->stringpool_str400,
(int)(long)&((struct stringpool_t *)0)->stringpool_str714,
(int)(long)&((struct stringpool_t *)0)->stringpool_str147,
(int)(long)&((struct stringpool_t *)0)->stringpool_str556,
(int)(long)&((struct stringpool_t *)0)->stringpool_str554,
(int)(long)&((struct stringpool_t *)0)->stringpool_str584,
(int)(long)&((struct stringpool_t *)0)->stringpool_str67,
(int)(long)&((struct stringpool_t *)0)->stringpool_str516,
(int)(long)&((struct stringpool_t *)0)->stringpool_str101,
(int)(long)&((struct stringpool_t *)0)->stringpool_str271,
(int)(long)&((struct stringpool_t *)0)->stringpool_str223,
(int)(long)&((struct stringpool_t *)0)->stringpool_str327,
(int)(long)&((struct stringpool_t *)0)->stringpool_str99,
(int)(long)&((struct stringpool_t *)0)->stringpool_str540,
(int)(long)&((struct stringpool_t *)0)->stringpool_str293,
(int)(long)&((struct stringpool_t *)0)->stringpool_str98,
(int)(long)&((struct stringpool_t *)0)->stringpool_str901,
(int)(long)&((struct stringpool_t *)0)->stringpool_str895,
(int)(long)&((struct stringpool_t *)0)->stringpool_str907,
(int)(long)&((struct stringpool_t *)0)->stringpool_str666,
(int)(long)&((struct stringpool_t *)0)->stringpool_str255,
(int)(long)&((struct stringpool_t *)0)->stringpool_str58,
(int)(long)&((struct stringpool_t *)0)->stringpool_str691,
(int)(long)&((struct stringpool_t *)0)->stringpool_str411,
70 changes: 70 additions & 0 deletions Externals/libiconv-1.14/lib/ces_big5.h
@@ -0,0 +1,70 @@
/*
* Copyright (C) 1999-2001 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* BIG-5
*/

static int
ces_big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII) */
if (c < 0x80)
return ascii_mbtowc(conv,pwc,s,n);
/* Code set 1 (BIG5) */
if (c >= 0xa1 && c < 0xff) {
if (n < 2)
return RET_TOOFEW(0);
{
unsigned char c2 = s[1];
if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff))
return big5_mbtowc(conv,pwc,s,2);
else
return RET_ILSEQ;
}
}
return RET_ILSEQ;
}

static int
ces_big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;

/* Code set 0 (ASCII) */
ret = ascii_wctomb(conv,r,wc,n);
if (ret != RET_ILUNI)
return ret;

/* Code set 1 (BIG5) */
ret = big5_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n < 2)
return RET_TOOSMALL;
r[0] = buf[0];
r[1] = buf[1];
return 2;
}

return RET_ILUNI;
}
65 changes: 65 additions & 0 deletions Externals/libiconv-1.14/lib/ces_gbk.h
@@ -0,0 +1,65 @@
/*
* Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc.
* This file is part of the GNU LIBICONV Library.
*
* The GNU LIBICONV Library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* The GNU LIBICONV 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the GNU LIBICONV Library; see the file COPYING.LIB.
* If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
* Fifth Floor, Boston, MA 02110-1301, USA.
*/

/*
* GBK
*/

static int
ces_gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;

/* Code set 0 (ASCII or GB 1988-89) */
if (c < 0x80)
return ascii_mbtowc(conv,pwc,s,n);
/* Code set 1 (GBK) */
if (c >= 0x81 && c < 0xff) {
if (n < 2)
return RET_TOOFEW(0);
return gbk_mbtowc(conv,pwc,s,2);
}
return RET_ILSEQ;
}

static int
ces_gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;

/* Code set 0 (ASCII or GB 1988-89) */
ret = ascii_wctomb(conv,r,wc,n);
if (ret != RET_ILUNI)
return ret;

/* Code set 1 (GBK) */
ret = gbk_wctomb(conv,buf,wc,2);
if (ret != RET_ILUNI) {
if (ret != 2) abort();
if (n < 2)
return RET_TOOSMALL;
r[0] = buf[0];
r[1] = buf[1];
return 2;
}

return RET_ILUNI;
}