--- a/src/locale/iconv.c +++ b/src/locale/iconv.c @@ -39,6 +39,7 @@ static const unsigned char charmaps[] = "ucs4\0ucs4be\0utf32\0utf32be\0\0\300" "ucs4le\0utf32le\0\0\303" "ascii\0usascii\0iso646\0iso646us\0\0\307" +#ifdef FULL_ICONV "eucjp\0\0\320" "shiftjis\0sjis\0\0\321" "gb18030\0\0\330" @@ -46,6 +47,7 @@ static const unsigned char charmaps[] = "gb2312\0\0\332" "big5\0bigfive\0cp950\0big5hkscs\0\0\340" "euckr\0ksc5601\0ksx1001\0cp949\0\0\350" +#endif #include "codepages.h" ; @@ -53,6 +55,7 @@ static const unsigned short legacy_chars #include "legacychars.h" }; +#ifdef FULL_ICONV static const unsigned short jis0208[84][94] = { #include "jis0208.h" }; @@ -72,6 +75,7 @@ static const unsigned short hkscs[] = { static const unsigned short ksc[93][94] = { #include "ksc.h" }; +#endif static int fuzzycmp(const unsigned char *a, const unsigned char *b) { @@ -224,6 +228,7 @@ size_t iconv(iconv_t cd0, char **restric c = ((c-0xd7c0)<<10) + (d-0xdc00); } break; +#ifdef FULL_ICONV case SHIFT_JIS: if (c-0xa1 <= 0xdf-0xa1) { c += 0xff61-0xa1; @@ -370,6 +375,7 @@ size_t iconv(iconv_t cd0, char **restric c = ksc[c][d]; if (!c) goto ilseq; break; +#endif default: if (c < 128+type) break; c = legacy_map(map, c); --- a/src/locale/codepages.h +++ b/src/locale/codepages.h @@ -118,6 +118,7 @@ "\0\0\0\100\15\0\344\0\0\0\0\0\0\0\0\0\0\0\0\0\103\270\1\0\0\0\340\1\200\40" "\230\0\0\0\0\0\44\341\12\0" +#ifdef FULL_ICONV "cp1250\0" "windows1250\0" "\0\0" @@ -214,6 +215,7 @@ "\0\0\0\0\0\0\0\0\0\15\0\0\0\0\0\0\0\0\0\0\266\0\0\0\0\102\0\220\13\0" "\0\234\2\0\0\0\0\0\0\0\0\244\202\13\0\0\0\0\100\15\0\0\0\0\0\0\0\0\0\0" "\267\0\0\0\0\103\0\240\13\0\0\240\2\0\0\0\0\0\0\0\0\250\62\45\0" +#endif "koi8r\0" "\0\0"