2001-09-08 Bruno Haible * autoconf/eilseq.m4: New file. * Makefile.devel (OTHERMACROS): Add it. * configure.in: Call AC_EILSEQ. * include/iconv.h.in (EILSEQ): Define to the autoconf determined value. 2001-08-25 Bruno Haible Upgrade to autoconf-2.52. * autoconf/autoconf: Upgrade to autoconf-2.52. * autoconf/acgeneral.m4: Remove file. * autoconf/acspecific.m4: Remove file. * autoconf/autoconf.m4f: New file, from autoconf-2.52. * autoconf/aclocal.m4: Require autoconf-2.52. (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result, AC_CANONICAL_HOST does it itself. Add $SHELL in front of $ac_config_guess and $ac_config_sub. * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4. Add autoconf.m4f. (configure): Use autoconf options -A, -l instead of -m. * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS. 2001-08-05 Bruno Haible * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro. (AC_LANG_EXTERN): Move to aclocal.m4. * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4. (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO. (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO. 2001-08-05 Bruno Haible Make it possible to build libiconv with CC=gcc CFLAGS="-x c++". * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable 'try' to 'incount'. * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option between sources and libs. (libiconv_plug_solaris.so) [GCC]: Likewise. (libiconv_plug_osf.so) [GCC]: Likewise. * src/Makefile.in (iconv.@OBJEXT@): New rule. (iconv): Depend on it. (clean): Erase *.@OBJEXT@, not *.o. * tests/Makefile.in (table-from.@OBJEXT@): New rule. (table-from): Depend on it. (table-to.@OBJEXT@): New rule. (table-to): Depend on it. (clean): Erase *.@OBJEXT@, not *.o. 2001-07-28 Bruno Haible * tools/Makefile (iso8859_16.h): Generate from the unicode.org table. * lib/iso8859_16.h: Regenerated. * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB. 2001-07-17 Bruno Haible * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint. 2001-07-03 Bruno Haible * configure.in: Also check for mbsinit. * lib/loop_wchar.h (mbsinit): Define to 1 if not defined. Needed for SCO 3.2v5.0.2. 2001-06-27 Bruno Haible * Version 1.7 released. 2001-06-27 Bruno Haible * INSTALL.generic (Particular Systems): Generalize section about /usr/local to "most systems". * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because Solaris cc destroys iconv.o and iconv.lo while building libiconv_plug_solaris.so. (clean): Remove so_locations, left there by the OSF/1 linker. * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'. * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of 'unsigned short'. * tests/table-from.c: Include string.h. * tests/table-to.c: Likewise. 2001-06-26 Bruno Haible * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C. (jisx0212.h): Replace U+007E with U+FF5E. * lib/jisx0208.h: Regenerated. * lib/jisx0212.h: Regenerated. * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E. * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file. * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C. * tests/CP932.TXT: Likewise. * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible. 2001-06-25 Bruno Haible * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and $(CPPFLAGS). * src/Makefile.msvc (iconv.exe): Likewise. * src/Makefile.os2 (iconv.exe): Likewise. * lib/Makefile.in (libiconv_plug_linux.so): Likewise. (libiconv_plug_solaris.so): Likewise. (libiconv_plug_osf.so): Likewise. (iconv.lo): Likewise. * lib/Makefile.msvc (iconv.obj): Likewise. * lib/Makefile.os2 (iconv.obj): Likewise. * tests/Makefile.in (table-from, table-to): Likewise. * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise. * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise. (genutf8.exe): Don't use $(INCLUDES). 2001-06-25 Bruno Haible * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0. 2001-06-25 Bruno Haible * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir. 2001-06-25 Bruno Haible * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS. 2001-06-08 Bruno Haible * autoconf/ltmain.sh: Upgrade to libtool-1.4. * autoconf/ltconfig: Remove file. 2001-06-08 Bruno Haible * autoconf/config.guess: Update to GNU version 2001-05-11. * autoconf/config.sub: Likewise. 2001-06-03 Bruno Haible * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag characters if they cannot be converted. (unicode_loop_reset): Likewise. * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE, STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k, STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh): New macros. (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb direction. (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag. If "ja", prefer conversion to Japanese character sets. If "zh", prefer conversion to GB2312. If "ko", prefer conversion to KSC5601. * lib/converters.h (RET_ILUNI): Change value from 0 to -1. (RET_TOOSMALL): Change value from -1 to -2. * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to return 0 written bytes. 2001-06-06 Bruno Haible * lib/encodings.def: Align with IANA character-set registry. (US-ASCII): Add alias "ANSI_X3.4-1986". (ISO-8859-14): Add alias "ISO-CELTIC". (JIS_X0208): Add alias "JIS_C6226-1983". (BIG5HKSCS): Add alias "BIG5-HKSCS". * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS. * tests/Makefile.in (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/Makefile.msvc (check): Likewise. * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT. * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from BIG5HKSCS.IRREVERSIBLE.TXT. 2001-06-02 Bruno Haible * tools/cjk_tab_to_h.c (Encoding): Add fffd field. (is_charset2uni_large, compact_large_charset2uni): New functions. (find_charset2uni_pages): Use enc->fffd instead of 0xfffd. (output_charset2uni): If mapping to more than the Unicode BMP, use an extra indirection to keep each value in 16 bits. (invert): Bump limit from U+10000 to U+30000. (output_uni2charset_dense): Likewise. (output_uni2charset_sparse): Likewise. If mapping to more than one CJK plane, use three bytes per value instead of two bytes. (byte_row_cns11643): Allow more than 3 CJK planes. (do_cns11643_only_uni2charset): Increase number of rows, to include plane 15. Remove plane bits hack. (main): Accept names cns11643_4a,4b,5,6,7,15 as well. * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h. (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1 derived table. (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h): New rules. (cns11643_inv.h): Change title. * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table. * lib/cns11643_3.h: Likewise. * lib/cns11643_4a.h: New file. * lib/cns11643_4b.h: New file. * lib/cns11643_4.h: New file. * lib/cns11643_5.h: New file. * lib/cns11643_6.h: New file. * lib/cns11643_7.h: New file. * lib/cns11643_15.h: New file. * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table. (cns11643_inv_wctomb): Return 3 bytes now. * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h. (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return plane number starting at 1, not 0. * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb change. * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as well. (euc_tw_wctomb): Update for cns11643_wctomb change. * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise. * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes 4,5,6,7 as well. (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change. Try CNS11643 planes 4,5,6,7 as well. * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15. * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1. Add U+5344. 2001-06-01 Bruno Haible * tests/table-from.c (bmp_only): New variable. (ucs4_decode): If bmp_only, don't return characters outside Unicode plane 0. (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print a conversion line if ucs4_decode returns NULL. * tests/table-to.c (main): When testing encodings other than UTF-8 and GB18030, loop upto U+30000 instead of U+10000. 2001-05-24 Bruno Haible * lib/converters.h (mbtowc_funcs): Add flushwc member function. * lib/flushwc.h: New file. * lib/cp1255.h: Include flushwc.h. (cp1255_comp_table_data, cp1255_comp_table): New arrays. (cp1255_mbtowc): Compose base and combining characters. (cp1255_flushwc): New macro. * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays. * lib/cp1258.h: Include flushwc.h. (cp1258_mbtowc): Compose base and combining characters. (cp1258_flushwc): New macro. * lib/tcvn.h: Include flushwc.h. (tcvn_mbtowc): Compose base and combining characters. (tcvn_flushwc): New macro. * lib/loop_unicode.h: (unicode_transliterate): New function, extracted from unicode_loop_convert. (unicode_loop_convert): Use unicode_transliterate. (unicode_loop_reset): Call xxx_flushwc and output the resulting character. * lib/encodings.def: Add xxx_flushwc member. * lib/encodings_aix.def: Likewise. * lib/encodings_dos.def: Likewise. * lib/encodings_local.def: Likewise. * lib/encodings_osf1.def: Likewise. * lib/genaliases.c: Add an argument to the DEFENCODING macro. * lib/genaliases2.c: Likewise. * lib/genflags.c: Likewise. * lib/iconv.c: Likewise. * tests/table-from.c (try): Reset the iconv descriptor before the main call, and flush it afterwards. (ucs4_decode): New function. (main): Allow up to 3 Unicode characters output. Call ucs4_decode. * tests/CP1255-snippet: New file. * tests/CP1255-snippet.UTF-8: New file. * tests/CP1258-snippet: New file. * tests/CP1258-snippet.UTF-8: New file. * tests/TCVN-snippet: New file. * tests/TCVN-snippet.UTF-8: New file. * tests/Makefile.in (check): Check combining behaviour of CP1255, CP1258, TCVN. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. 2001-05-22 Bruno Haible * lib/converters.h (RET_ILUNI): New macro. (RET_ILSEQ): Change value to -1. (RET_TOOFEW): Change value. * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead of 0. Update handling of xxx_mbtowc return value. * lib/genflags.c (emit_encoding): Likewise. * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ. * lib/armscii_8.h (armscii_8_wctomb): Likewise. * lib/big5.h (big5_wctomb): Likewise. * lib/big5hkscs.h (big5hkscs_wctomb): Likewise. * lib/ces_big5.h (ces_big5_wctomb): Likewise. * lib/ces_gbk.h (ces_gbk_wctomb): Likewise. * lib/cns11643.h (cns11643_wctomb): Likewise. * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise. * lib/cp437.h (cp437_wctomb): Likewise. * lib/cp775.h (cp775_wctomb): Likewise. * lib/cp850.h (cp850_wctomb): Likewise. * lib/cp852.h (cp852_wctomb): Likewise. * lib/cp855.h (cp855_wctomb): Likewise. * lib/cp856.h (cp856_wctomb): Likewise. * lib/cp857.h (cp857_wctomb): Likewise. * lib/cp861.h (cp861_wctomb): Likewise. * lib/cp862.h (cp862_wctomb): Likewise. * lib/cp864.h (cp864_wctomb): Likewise. * lib/cp865.h (cp865_wctomb): Likewise. * lib/cp866.h (cp866_wctomb): Likewise. * lib/cp869.h (cp869_wctomb): Likewise. * lib/cp874.h (cp874_wctomb): Likewise. * lib/cp922.h (cp922_wctomb): Likewise. * lib/cp932ext.h (cp932ext_wctomb): Likewise. * lib/cp932.h (cp932_wctomb): Likewise. * lib/cp936ext.h (cp936ext_wctomb): Likewise. * lib/cp949.h (cp949_wctomb): Likewise. * lib/cp950ext.h (cp950ext_wctomb): Likewise. * lib/cp950.h (cp950_wctomb): Likewise. * lib/cp1046.h (cp1046_wctomb): Likewise. * lib/cp1124.h (cp1124_wctomb): Likewise. * lib/cp1129.h (cp1129_wctomb): Likewise. * lib/cp1133.h (cp1133_wctomb): Likewise. * lib/cp1250.h (cp1250_wctomb): Likewise. * lib/cp1251.h (cp1251_wctomb): Likewise. * lib/cp1252.h (cp1252_wctomb): Likewise. * lib/cp1253.h (cp1253_wctomb): Likewise. * lib/cp1254.h (cp1254_wctomb): Likewise. * lib/cp1255.h (cp1255_wctomb): Likewise. * lib/cp1256.h (cp1256_wctomb): Likewise. * lib/cp1257.h (cp1257_wctomb): Likewise. * lib/cp1258.h (cp1258_wctomb): Likewise. * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise. * lib/dec_kanji.h (dec_kanji_wctomb): Likewise. * lib/euc_cn.h (euc_cn_wctomb): Likewise. * lib/euc_jp.h (euc_jp_wctomb): Likewise. * lib/euc_kr.h (euc_kr_wctomb): Likewise. * lib/euc_tw.h (euc_tw_wctomb): Likewise. * lib/gb12345ext.h (gb12345ext_wctomb): Likewise. * lib/gb12345.h (gb12345_wctomb): Likewise. * lib/gb18030ext.h (gb18030ext_wctomb): Likewise. * lib/gb18030.h (gb18030_wctomb): Likewise. * lib/gb18030uni.h (gb18030uni_wctomb): Likewise. * lib/gb2312.h (gb2312_wctomb): Likewise. * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise. * lib/gbk.h (gbk_wctomb): Likewise. * lib/georgian_academy.h (georgian_academy_wctomb): Likewise. * lib/georgian_ps.h (georgian_ps_wctomb): Likewise. * lib/hkscs.h (hkscs_wctomb): Likewise. * lib/hp_roman8.h (hp_roman8_wctomb): Likewise. * lib/hz.h (hz_wctomb): Likewise. * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise. * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise. * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise. * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise. * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise. * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise. * lib/iso646_cn.h (iso646_cn_wctomb): Likewise. * lib/iso646_jp.h (iso646_jp_wctomb): Likewise. * lib/iso8859_1.h (iso8859_1_wctomb): Likewise. * lib/iso8859_2.h (iso8859_2_wctomb): Likewise. * lib/iso8859_3.h (iso8859_3_wctomb): Likewise. * lib/iso8859_4.h (iso8859_4_wctomb): Likewise. * lib/iso8859_5.h (iso8859_5_wctomb): Likewise. * lib/iso8859_6.h (iso8859_6_wctomb): Likewise. * lib/iso8859_7.h (iso8859_7_wctomb): Likewise. * lib/iso8859_8.h (iso8859_8_wctomb): Likewise. * lib/iso8859_9.h (iso8859_9_wctomb): Likewise. * lib/iso8859_10.h (iso8859_10_wctomb): Likewise. * lib/iso8859_13.h (iso8859_13_wctomb): Likewise. * lib/iso8859_14.h (iso8859_14_wctomb): Likewise. * lib/iso8859_15.h (iso8859_15_wctomb): Likewise. * lib/iso8859_16.h (iso8859_16_wctomb): Likewise. * lib/isoir165ext.h (isoir165ext_wctomb): Likewise. * lib/isoir165.h (isoir165_wctomb): Likewise. * lib/jisx0201.h (jisx0201_wctomb): Likewise. * lib/jisx0208.h (jisx0208_wctomb): Likewise. * lib/jisx0212.h (jisx0212_wctomb): Likewise. * lib/johab.h (johab_wctomb): Likewise. * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose): Likewise. * lib/koi8_r.h (koi8_r_wctomb): Likewise. * lib/koi8_ru.h (koi8_ru_wctomb): Likewise. * lib/koi8_u.h (koi8_u_wctomb): Likewise. * lib/ksc5601.h (ksc5601_wctomb): Likewise. * lib/mac_arabic.h (mac_arabic_wctomb): Likewise. * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise. * lib/mac_croatian.h (mac_croatian_wctomb): Likewise. * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise. * lib/mac_greek.h (mac_greek_wctomb): Likewise. * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise. * lib/mac_iceland.h (mac_iceland_wctomb): Likewise. * lib/mac_roman.h (mac_roman_wctomb): Likewise. * lib/mac_romania.h (mac_romania_wctomb): Likewise. * lib/mac_thai.h (mac_thai_wctomb): Likewise. * lib/mac_turkish.h (mac_turkish_wctomb): Likewise. * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise. * lib/mulelao.h (mulelao_wctomb): Likewise. * lib/nextstep.h (nextstep_wctomb): Likewise. * lib/sjis.h (sjis_wctomb): Likewise. * lib/tcvn.h (tcvn_wctomb): Likewise. * lib/tis620.h (tis620_wctomb): Likewise. * lib/ucs2be.h (ucs2be_wctomb): Likewise. * lib/ucs2.h (ucs2_wctomb): Likewise. * lib/ucs2internal.h (ucs2internal_wctomb): Likewise. * lib/ucs2le.h (ucs2le_wctomb): Likewise. * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise. * lib/ucs4.h (ucs4_wctomb): Likewise. * lib/uhc_1.h (uhc_1_wctomb): Likewise. * lib/uhc_2.h (uhc_2_wctomb): Likewise. * lib/utf16be.h (utf16be_wctomb): Likewise. * lib/utf16.h (utf16_wctomb): Likewise. * lib/utf16le.h (utf16le_wctomb): Likewise. * lib/utf32be.h (utf32be_wctomb): Likewise. * lib/utf32.h (utf32_wctomb): Likewise. * lib/utf32le.h (utf32le_wctomb): Likewise. * lib/utf7.h (utf7_wctomb): Likewise. * lib/utf8.h (utf8_wctomb): Likewise. * lib/viscii.h (viscii_wctomb): Likewise. * tools/8bit_tab_to_h.c (main): Likewise. * tools/cjk_tab_to_h.c (output_uni2charset_dense, output_uni2charset_sparse, do_gb18030uni): Likewise. 2001-05-19 Bruno Haible * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html. (man/%.html): New rule. * man/Makefile.in (docdir, htmldir): New variables. (install, installdirs): Install the HTML formatted man pages in $(htmldir). (uninstall): Uninstall them. 2001-05-20 Bruno Haible * lib/cp1255.h (cp1255_decomp_table): New array. (cp1255_comb_table): New array. (cp1255_wctomb): Decompose Unicode characters. * tests/CP1255.IRREVERSIBLE.TXT: New file. 2001-05-13 Bruno Haible * lib/vietcomb.h: New file. * lib/cp1258.h: Include it. (cp1258_comb_table): New array. (cp1258_wctomb): Decompose Unicode characters. * lib/tcvn.h: Include it. (tcvn_comb_table): New array. (tcvn_wctomb): Decompose Unicode characters. * tests/CP1258.IRREVERSIBLE.TXT: New file. * tests/TCVN.IRREVERSIBLE.TXT: New file. 2001-05-06 Bruno Haible * lib/Makefile.msvc (config.h): Allow the 'del' command to fail. (iconv.lib): Likewise. 2001-05-06 Bruno Haible * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables. (CPP): Remove variable. (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so): Use LDFLAGS. (libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS. * lib/Makefile.msvc (CPP): Remove variable. * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables. (CPP): Remove variable. (iconv): Use CPPFLAGS and LDFLAGS. * src/Makefile.msvc (CPP): Remove variable. * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables. (check, table-from, table-to): Use CPPFLAGS and LDFLAGS. * tests/Makefile.msvc (CPP): Remove variable. 2001-05-06 Bruno Haible * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using gcc. Reported by Paananen Mikko . 2001-04-11 Bruno Haible Implement and document UTF-32, UTF-32BE, UTF-32LE. * src/utf32.h, src/utf32be.h, src/utf32le.h: New files. * src/converters.h: Include them. * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings. * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE. * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE. * tests/Makefile.os2 (check): Likewise. * tests/Makefile.msvc (check): Likewise. * tests/UTF-32*snippet*: New files. * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order. (ucs4_wctomb): Allow any 31-bit codepoint. 2001-04-11 Bruno Haible * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including unassigned code points. * tests/table-from.c (main); When dumping GB18030, don't print code points larger than U+FFFF. 2001-03-30 Bruno Haible * tools/Makefile (GB18030uni.TXT): Use a table source which includes the unassigned Unicode code points. * lib/gb18030uni.h: Update. (gb18030uni_ranges): Remove bitmap_offset field. (gb18030uni_bitmap): Remove array. (gb18030uni_mbtowc): Omit gb18030uni_bitmap access. (gb18030uni_wctomb): Likewise. * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000. (gb18030_wctomb): Likewise. 2001-03-21 Bruno Haible * INSTALL.generic (Particular Systems): Add recommendations for AIX 3. 2001-03-21 Bruno Haible * src/iconv.c (print_version): Now called GNU libiconv. 2001-03-20 Bruno Haible * README: This package is now called GNU libiconv. * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output file. * tools/cjk_tab_to_h.c (output_title): Likewise. * tools/cjk_variants.c (main): Likewise. * lib/gentranslit.c (main): Likewise. 2001-03-19 Bruno Haible * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define ac_config_guess and ac_config_sub. Then ignore requests for AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST. 2001-03-10 Bruno Haible * INSTALL.generic: New section "Particular Systems". 2001-03-10 Bruno Haible * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on platforms like BeOS. * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in config.h. 2001-03-06 Bruno Haible * Version 1.6 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0. 2001-03-05 Bruno Haible Provide all encodings used by OSF/1 5.1 locales. * lib/dec_kanji.h: New file. * lib/dec_hanyu.h: New file. * lib/converters.h: Include them if USE_OSF1 is defined. * lib/encodings_osf1.def: New file. * lib/genflags.c (main): Include it. Define USE_OSF1. * lib/genaliases2.c (main): Include it conditionally. * lib/iconv.c: Define USE_OSF1 on OSF/1. Include encodings_osf1.def and aliases_osf1.h. * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and aliases_osf1.h. * Makefile.devel (lib/aliases_osf1.h): New target. (all): Depend on lib/aliases_osf1.h. (lib/flags.h): Depend on lib/encodings_osf1.def. 2001-03-01 Bruno Haible * tools/Makefile (cp775.h): New target. (ALL): Add it. * lib/cp775.h: New file. * lib/converters.h: Include it. * lib/encodings_dos.def (CP775): New encoding. 2001-02-25 Bruno Haible * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any more. 2001-02-24 Bruno Haible * src/iconv.c (convert): Use ICONV_CONST. * tests/table-from.c: Include config.h. (try): Use ICONV_CONST. * tests/table-to.c: Include config.h. (main): Use ICONV_CONST. * tests/Makefile.in (INCLUDES): Add -I../lib. * tests/Makefile.os2 (INCLUDES): Likewise. * tests/Makefile.msvc (INCLUDES): Add -I..\lib. 2001-02-24 Bruno Haible Provide all encodings used by DOS locales. * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h, cp864.h, cp865.h, cp869.h): New targets. (ALL): Add them. * lib/cp437.h: New file. * lib/cp852.h: New file. * lib/cp855.h: New file. * lib/cp857.h: New file. * lib/cp861.h: New file. * lib/cp864.h: New file. * lib/cp865.h: New file. * lib/cp869.h: New file. * lib/converters.h: Include them if USE_DOS is defined. * lib/encodings_dos.def: New file. * lib/genflags.c (main): Include it. Define USE_DOS. * lib/genaliases2.c (main): Include it conditionally. * lib/iconv.c: Define USE_DOS on DJGPP. Include encodings_dos.def and aliases_dos.h. * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and aliases_dos.h. * Makefile.devel (lib/aliases_dos.h): New target. (all): Depend on lib/aliases_dos.h. (lib/flags.h): Depend on lib/encodings_dos.def. 2001-02-23 Bruno Haible * src/iconv.c [DJGPP]: Include and . (SET_BINARY) [O_BINARY]: New macro. (usage): Mention --binary if available. (convert): Use SET_BINARY instead of setmode. (main): Likewise. Reported by Juan Manuel Guerrero . 2001-02-25 Bruno Haible * autoconf/ltconfig: sed -e 's/reload object files/produce relocatable object files/'. 2001-02-20 Bruno Haible * src/iconv.c (usage, main): Make -f and -t options optional. * man/iconv.1: Mark them as optional. 2001-02-20 Bruno Haible * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from glibc-2.2.2 table. * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E, 0xFE5E -> U+2E97. Shift the entire four-byte range. * tests/GB18030.TXT: Regenerated. 2001-02-20 Bruno Haible Better support for DOS/Windows platforms. * autoconf/ltconfig: Upgrade to libtool-1.3.5. * autoconf/ltmain.sh: Likewise. * autoconf/aclocal.m4: Likewise. * autoconf/install-sh: New file. * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR. 2001-02-20 Bruno Haible * Makefile.in (libdir, includedir, mandir): Use the autoconf determined value, in order to respect the configure arguments. * lib/Makefile.in (libdir): Likewise. * src/Makefile.in (bindir): Likewise. * man/Makefile.in (mandir): Likewise. 2001-02-04 Bruno Haible * lib/translit.def: Add all the neutral transliterations from glibc. * lib/gentranslit.c (main): Allow UTF-8 replacements which are in UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'. Avoid accessing data[-1]. * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer into translit_data. 2001-01-05 Bruno Haible Implement and document CP862. * tools/Makefile (ALL): Add cp862.h. (cp862.h): New target. * lib/cp862.h: New file. * lib/converters.h: Include it. * lib/encodings.def (CP862): New encoding. * README, man/iconv_open.3: Add CP862. * tests/Makefile.in (check): Check CP862. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/CP862.TXT: New file. 2000-12-18 Bruno Haible * autoconf/mbstate_t.m4: New file, from textutils-2.0.10. * Makefile.devel (OTHERMACROS): Add it. * configure.in: Call AC_MBSTATE_T. * lib/config.h.in (mbstate_t): New definition. * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback. 2000-12-12 Bruno Haible * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is given. Reported by Toshimitsu Fujiwara. 2000-12-08 Bruno Haible * Makefile.in (exec_prefix): Use configure's --exec-prefix argument. * lib/Makefile.in (exec_prefix): Likewise. * src/Makefile.in (exec_prefix): Likewise. * man/Makefile.in (exec_prefix): Likewise. 2000-12-02 Bruno Haible * Version 1.5 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0. 2000-12-02 Bruno Haible * Makefile.in (mostlyclean, clean, distclean, maintainer-clean): Remove files installed in lib by libcharset. * Makefile.msvc (mostlyclean): Likewise. * Makefile.in (check): Depend on target 'all'. * Makefile.os2 (check): Likewise. * Makefile.msvc (check): Depend on target 'force' as well. * src/iconv.c (usage): Take an exitcode argument. (print_version): New function. (main): Recognize --help and --version command line options. 2000-12-02 Bruno Haible * Makefile.msvc: Replace STATIC with its opposite flag, DLL. * lib/Makefile.msvc: Likewise. * src/Makefile.msvc: Likewise. * tests/Makefile.msvc: Likewise. 2000-12-01 Bruno Haible * src/iconv.c: Include . Define fallbacks for setmode, fileno. (force_binary): New variable. (convert): If requested, set the input O_BINARY. (main): Accept --binary option. If requested, set the output O_BINARY. * tests/check-stateful.bat: Pass --binary to iconv. * tests/check-stateful.cmd: Likewise. * tests/check-translit.bat: Likewise. * tests/check-translit.cmd: Likewise. 2000-12-01 Bruno Haible * include/iconv.h.in (_libiconv_version): New declaration. * lib/iconv.c (_libiconv_version): New variable. 2000-11-30 Bruno Haible * Makefile.msvc (all): File now named lib/libcharset.h. (clean, distclean, maintainer-clean): Likewise. 2000-11-23 Bruno Haible * lib/*: Move here all files from src/*. * src/*: Move all files to lib. * lib/Makefile.in (distclean): No need to remove config.status, config.log, config.cache. * configure.in: Require lib/iconv.c, not src/iconv.c. Create lib/config.h, not src/config.h. Also create lib/Makefile. * Makefile.in (all): Install libcharset into lib, not src. Recurse into lib and src. (install-lib): Recurse into lib, not src. (install): Recurse into libcharset, lib and src. (installdirs, uninstall): Likewise. (check, mostlyclean, clean, distclean, maintainer-clean): Likewise. * Makefile.msvc (all): Recurse into lib and src. (install): Recurse into libcharset, lib and src. (installdirs, uninstall): Likewise. (check, mostlyclean, clean, distclean, maintainer-clean): Likewise. * Makefile.os2 (all): Recurse into lib and src. (install-lib): Recurse into lib, not src. (install, uninstall): Recurse into lib and src. (check, mostlyclean, clean, distclean, maintainer-clean): Likewise. * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc. (lib/aliases.h): Renamed from src/aliases.h. (lib/aliases.gperf): Renamed from src/aliases.gperf. (lib/aliases_aix.h): Renamed from src/aliases_aix.h. (lib/flags.h): Renamed from src/flags.h. (lib/translit.h): Renamed from src/translit.h. * src/iconv.c: Moved here from tests/iconv.c. * src/Makefile.in: New file. * src/Makefile.msvc: New file. * src/Makefile.os2: New file. * tests/Makefile.in (iconv): Remove target. (../lib/libiconv.la): Renamed from ../src/libiconv.la. (clean): No need to remove iconv. * tests/Makefile.msvc (iconv.exe): Remove target. * tests/Makefile.os2 (iconv.exe): Likewise. * tests/check-stateful: iconv is in ../src. * tests/check-stateful.bat: Likewise. * tests/check-stateful.cmd: Likewise. * tests/check-translit: iconv is in ../src. * tests/check-translit.bat: Likewise. * tests/check-translit.cmd: Likewise. * man/iconv.1: New file. * man/Makefile.in (install, installdirs, uninstall): Also install *.1 man pages. * man/Makefile.os2 (MAN3): Renamed from MAN. (MAN1): New variable. (install, uninstall): Also install *.1 man pages. 2000-11-21 Bruno Haible * Makefile.msvc (all, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into libcharset. (clean, distclean, maintainer-clean): Remove src\libcharset.h. * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable. (iconv.lib): Link with $(LIBCHARSET_OBJECTS). 2000-11-18 Bruno Haible * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation so that it agrees with Microsoft's definition of CP950. * tests/CP950.TXT: Likewise. * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE. 2000-11-18 Bruno Haible Add support for locale dependent "char" and "wchar_t" encodings. * libcharset: New subdirectory. * src/loop_unicode.h: New file, extracted from src/iconv.c. * src/loop_wchar.h: New file. * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h. * src/encodings_local.def: New file. * src/genaliases.c: Also create aliases for encodings_local.def. * src/converters.h (conv_struct): Add lfuncs field. * src/genflags.c: Add dummy definitions of struct loop_funcs. * src/iconv.c: Include libcharset.h. (loop_funcs): New structure. Treat encodings_local.def like encodings.def. Include loops.h. (iconv_open): Move the bulk of the code to loop_unicode.h. (iconv): Likewise. (iconvctl): Extend determination of TRIVIALP to wchar_t conversion descriptors. * src/Makefile.in (PLUG_SOURCES): Remove variable. (LIBCHARSET_OBJECTS): New variable. (libiconv.la): Link in the LIBCHARSET_OBJECTS. (libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using LIBTOOL_LINK. (iconv.lo): Depend on encodings_local.def. * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def. * src/Makefile.os2 (iconv.obj): Likewise. * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale. Recurse into libcharset. * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB, HAVE_SETLOCALE): New macros. * tests/iconv.c: Include config.h and locale.h. (main): Call setlocale. * tests/Makefile.in (iconv): Search for config.h in ../src. * tests/Makefile.os2 (iconv.exe): Likewise. * tests/Makefile.msvc (iconv.exe): Likewise. * README, man/iconv_open.3: Document "char" and "wchar_t" encodings. * Makefile.in: After "cd", use "&&" not ";". (all, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into libcharset. * Makefile.devel (all): Recurse into libcharset. (src/aliases.gperf): Depend on src/encodings_local.def. 2000-11-18 Bruno Haible * src/converters.h (ucs4_t): New type. (wchar_t): Remove locally defined override. (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t. * src/iconv.c (iconv): Likewise. * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t. * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t". * tools/cjk_tab_to_h.c: Likewise. * src/armscii_8.h: Use ucs4_t instead of wchar_t. * src/ascii.h: Likewise. * src/big5.h: Likewise. * src/big5hkscs.h: Likewise. * src/ces_big5.h: Likewise. * src/ces_gbk.h: Likewise. * src/cns11643.h: Likewise. * src/cns11643_1.h: Likewise. * src/cns11643_2.h: Likewise. * src/cns11643_3.h: Likewise. * src/cns11643_inv.h: Likewise. * src/cp1046.h: Likewise. * src/cp1124.h: Likewise. * src/cp1129.h: Likewise. * src/cp1133.h: Likewise. * src/cp1250.h: Likewise. * src/cp1251.h: Likewise. * src/cp1252.h: Likewise. * src/cp1253.h: Likewise. * src/cp1254.h: Likewise. * src/cp1255.h: Likewise. * src/cp1256.h: Likewise. * src/cp1257.h: Likewise. * src/cp1258.h: Likewise. * src/cp850.h: Likewise. * src/cp856.h: Likewise. * src/cp866.h: Likewise. * src/cp874.h: Likewise. * src/cp922.h: Likewise. * src/cp932.h: Likewise. * src/cp932ext.h: Likewise. * src/cp936ext.h: Likewise. * src/cp949.h: Likewise. * src/cp950.h: Likewise. * src/cp950ext.h: Likewise. * src/euc_cn.h: Likewise. * src/euc_jp.h: Likewise. * src/euc_kr.h: Likewise. * src/euc_tw.h: Likewise. * src/gb12345.h: Likewise. * src/gb12345ext.h: Likewise. * src/gb18030.h: Likewise. * src/gb18030ext.h: Likewise. * src/gb18030uni.h: Likewise. * src/gb2312.h: Likewise. * src/gbk.h: Likewise. * src/gbkext1.h: Likewise. * src/gbkext2.h: Likewise. * src/gbkext_inv.h: Likewise. * src/georgian_academy.h: Likewise. * src/georgian_ps.h: Likewise. * src/hkscs.h: Likewise. * src/hp_roman8.h: Likewise. * src/hz.h: Likewise. * src/iso2022_cn.h: Likewise. * src/iso2022_cnext.h: Likewise. * src/iso2022_jp.h: Likewise. * src/iso2022_jp1.h: Likewise. * src/iso2022_jp2.h: Likewise. * src/iso2022_kr.h: Likewise. * src/iso646_cn.h: Likewise. * src/iso646_jp.h: Likewise. * src/iso8859_1.h: Likewise. * src/iso8859_10.h: Likewise. * src/iso8859_13.h: Likewise. * src/iso8859_14.h: Likewise. * src/iso8859_15.h: Likewise. * src/iso8859_16.h: Likewise. * src/iso8859_2.h: Likewise. * src/iso8859_3.h: Likewise. * src/iso8859_4.h: Likewise. * src/iso8859_5.h: Likewise. * src/iso8859_6.h: Likewise. * src/iso8859_7.h: Likewise. * src/iso8859_8.h: Likewise. * src/iso8859_9.h: Likewise. * src/isoir165.h: Likewise. * src/isoir165ext.h: Likewise. * src/java.h: Likewise. * src/jisx0201.h: Likewise. * src/jisx0208.h: Likewise. * src/jisx0212.h: Likewise. * src/johab.h: Likewise. * src/johab_hangul.h: Likewise. * src/koi8_r.h: Likewise. * src/koi8_ru.h: Likewise. * src/koi8_u.h: Likewise. * src/ksc5601.h: Likewise. * src/mac_arabic.h: Likewise. * src/mac_centraleurope.h: Likewise. * src/mac_croatian.h: Likewise. * src/mac_cyrillic.h: Likewise. * src/mac_greek.h: Likewise. * src/mac_hebrew.h: Likewise. * src/mac_iceland.h: Likewise. * src/mac_roman.h: Likewise. * src/mac_romania.h: Likewise. * src/mac_thai.h: Likewise. * src/mac_turkish.h: Likewise. * src/mac_ukraine.h: Likewise. * src/mulelao.h: Likewise. * src/nextstep.h: Likewise. * src/sjis.h: Likewise. * src/tcvn.h: Likewise. * src/tis620.h: Likewise. * src/ucs2.h: Likewise. * src/ucs2be.h: Likewise. * src/ucs2internal.h: Likewise. * src/ucs2le.h: Likewise. * src/ucs2swapped.h: Likewise. * src/ucs4.h: Likewise. * src/ucs4be.h: Likewise. * src/ucs4internal.h: Likewise. * src/ucs4le.h: Likewise. * src/ucs4swapped.h: Likewise. * src/uhc_1.h: Likewise. * src/uhc_2.h: Likewise. * src/utf16.h: Likewise. * src/utf16be.h: Likewise. * src/utf16le.h: Likewise. * src/utf7.h: Likewise. * src/utf8.h: Likewise. * src/viscii.h: Likewise. 2000-11-18 Bruno Haible Make transliteration optional. * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names. Set transliteration on if and only if tocode ends in //TRANSLIT. * README, man/iconv_open.3: Document how to enable transliteration. * tests/check-translit: Add //TRANSLIT to iconv's 't' argument. * tests/check-translit.bat: Likewise. * tests/check-translit.cmd: Likewise. 2000-11-18 Bruno Haible * man/iconv.3: Fix typo. 2000-10-31 Bruno Haible * README, man/iconv_open.3: Document JOHAB again. 2000-11-15 Bruno Haible * Makefile.msvc: Add support for MFLAGS and DEBUG parameters. (STATIC): Change default from 0 to 1. * src/Makefile.msvc: Likewise. * tests/Makefile.msvc: Likewise. * tests/check-stateless.bat: Call 'sort' with no arguments. 2000-11-12 Bruno Haible * autoconf/config.guess, autoconf/config.sub: Upgrade to newest version from GNU CVS. 2000-10-24 Bruno Haible * Version 1.4 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0. 2000-10-23 Bruno Haible Implement and document GB18030 and BIG5HKSCS. * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New functions. (do_gb18030uni): New function. (main): Accept gb18030ext, gb18030uni, hkscs. * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h. (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT, hkscs.h): New targets. * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files. * src/hkscs.h, src/big5hkscs.h: New files. * src/converters.h: Include gb18030.h and big5hkscs.h. * src/encodings.def (GB18030, BIG5HKSCS): New encodings. * README, man/iconv_open.3: Add GB18030, BIG5HKSCS. * tests/Makefile.in (check): Check GB18030, BIG5HKSCS. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/GB18030.TXT: New file. * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files. 2000-10-23 Bruno Haible * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling. * tests/table-to.c (main): Likewise. 2000-10-22 Bruno Haible * src/gentranslit.c (main): Read the input in UTF-8 encoding. 2000-10-09 Bruno Haible CPU recognition on OpenBSD. * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__, __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators. 2000-10-03 Bruno Haible * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1 character literals, use the numeric value instead. Reported by Shin-Hsien Yeh . 2000-09-29 Bruno Haible * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23 change. 2000-09-25 Bruno Haible * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__ as equivalent to __i386. For OpenBSD. 2000-09-21 Bruno Haible * src/utf16.h (utf16_wctomb): Reject single surrogates. * src/utf16be.h (utf16be_wctomb): Likewise. * src/utf16le.h (utf16le_wctomb): Likewise. * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise. * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise. * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise. * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb): Likewise. * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Likewise. 2000-09-15 Bruno Haible * Makefile.in (install, installdirs, uninstall): Support DESTDIR. * src/Makefile.in (install, installdirs, uninstall): Likewise. * man/Makefile.in (install, installdirs, uninstall): Likewise. 2000-09-11 Bruno Haible * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates. 2000-08-26 Bruno Haible * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default value, not parens. 2000-07-04 Akira Hatakeyama Bruno Haible * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2, tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd, tests/check-stateless.cmd, tests/check-translit.cmd: New files. 2000-06-28 Bruno Haible * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about cast. * src/ucs4internal.h (ucs4internal_mbtowc): Likewise. * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify sizeof(unsigned short). * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify sizeof(unsigned int). Reported by François Pinard . 2000-05-29 Bruno Haible * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo. Reported by Thomas Klausner . 2000-05-23 Bruno Haible * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu, host_vendor, host_os correctly if $host has more than two hyphens. 2000-04-15 Bruno Haible * Version 1.3 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0. 2000-04-15 Bruno Haible * THANKS: New file. * INSTALL.generic: New file. Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE. * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files. * src/converters.h: Include them. * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE. * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE. * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE. (UCS-2LE): Renamed from UCS-2-LE. (UCS-4BE): Renamed from UCS-4-BE. (UCS-4LE): Renamed from UCS-4-LE. * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf. * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE. * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE. * tests/Makefile.msvc (check): Likewise. * tests/UCS-*snippet*: New files. Allow building as a shared library on Windows. Allow running the tests on Windows. * Makefile.devel (include/iconv.h.msvc): Remove rule. (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New rules. (all): Update. * windows/dllexport.h: New file. * include/iconv.h.msvc: Remove file. * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New autogenerated files. * Makefile.msvc (STATIC, DEBUG): Default to 0. (all): Choose either include\iconv.h.msvc-static or include\iconv.h.msvc-shared. (check): Depend on all. (all, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into tests directory. * src/Makefile.msvc (STATIC, DEBUG): Default to 0. (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables. (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV. (RESOURCES): New variable. (iconv.lib): Change rule when building DLL. (clean, distclean): One filename per line. * tests/Makefile.msvc: New file. * tests/check-stateful.bat, tests/check-stateless.bat, tests/check-translit.bat: New files. * tests/uniq-u.c: New file, taken from GNU textutils. * README.win32: Update. Based on patches by Taro Muraoka . 2000-04-14 Bruno Haible Fix an OSF/1 problem. * configure.in: Define GCC variable for substitution. * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using gcc. 2000-04-13 Bruno Haible Fix a SunOS 4 problem. * include/iconv.h.in: If EILSEQ is not defined by the system, define it to ENOENT, not EINVAL. 2000-04-02 Bruno Haible Allow building on filesystems lacking symlinks and hard links. * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with CL_PROG_LN_S. * configure.in: Add CL_PROG_LN, CL_PROG_LN_S. * src/Makefile.in (LN): Use autoconfigured value @LN@. (LN_S): Use autoconfigured value @LN_S@. 2000-03-15 Bruno Haible * Version 1.2 released. * include/iconv.h.in (_LIBICONV_VERSION): Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1. 2000-03-14 Bruno Haible Implement and document UTF-16BE and UTF16LE. * src/utf16be.h, src/utf16le.h: New files. * src/converters.h: Include them. * src/encodings.def (UTF-16BE, UTF16LE): New encodings. * README, man/iconv_open.3: Add UTF-16BE, UTF16LE. * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE. * tests/UTF-16*snippet*: New files. * src/utf16.h (utf16_wctomb): Output a byte order mark. 2000-03-13 Bruno Haible Provide all encodings used by AIX locales. * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h. (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets. * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h, src/cp1129.h: New files. * src/converters.h: Include them if USE_AIX is defined. * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046, CP1124, CP1129. * src/genflags.c: Define USE_AIX. Include encodings_aix.def. * src/genaliases2.c: New file. * src/iconv.c: Define USE_AIX on AIX. Include encodings_aix.def and aliases_aix.h. (aliases2_lookup): New function. (iconv_open): Call aliases2_lookup. * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and aliases_aix.h. * Makefile.devel (all): Add src/aliases_aix.h. (src/aliases_aix.h): New rule. (src/flags.h): Depend on src/encodings_aix.def. 2000-02-24 Bruno Haible * src/iconv.c (iconv): Don't write beyond the end of the output buffer. Reported by Edmund Grimley Evans . 2000-02-22 Bruno Haible * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space. 2000-02-15 Bruno Haible * src/iconv.c (iconv): Add cast in xxx_reset call. 2000-02-05 Bruno Haible * src/tis620.h: Simplify. 2000-01-27 Bruno Haible * Makefile.devel (CLISP_DIR): Change to "..". 2000-01-24 Bruno Haible * Version 1.1 released. * include/iconv.h.in (_LIBICONV_VERSION): Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1. 2000-01-23 Bruno Haible * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode '+' as "+-". 2000-01-22 Bruno Haible * include/iconv.h.in (iconvctl): New declaration. (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE): New macros. * src/iconv.c (iconvctl): New function. * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE). Solve a build problem. * include/iconv.h.in: Renamed from include/libiconv.h.in. * Makefile.devel: libiconv.h -> iconv.h. * Makefile.in: Likewise. * configure.in: Likewise. Remove check for . * src/iconv.c: Include iconv.h instead of libiconv.h. * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise. * README, man/iconv_open.3: Don't document JOHAB any more. * man/iconv.3: Clarify return value again. 2000-01-16 Bruno Haible Add aliases. * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199. (ISO-8859-15): Add alias ISO-IR-203. (EUC-CN): Add alias CN-GB, from RFC 1922. (BIG5): Add alias CN-BIG5, from RFC 1922. * Makefile.devel (src/aliases.h): Add 8th character to key set. Drop X11 aliases. * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias. (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases. (KSC_5601): Drop KSC5601.1987-0 alias. Improve GB/T 12345 (not used yet). * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT. * src/gb12345ext.h: Regenerated. Improve and document CP949. * tools/Makefile (all): Add uhc_1.h and uhc_2.h. (uhc_1.h, uhc_2.h): New rules. * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New function. (output_uni2charset_sparse): Take an additional boolean argument. All callers changed. (*_uhc_1, *_uhc_2): New functions. (main): Treat uhc_1 and uhc_2. * src/uhc_1.h, src/uhc_2.h: New files. * src/cp949.h: New file, include them. * src/converters.h: Include it. * src/encodings.def (KSC_5601): Remove alias CP949. (CP949): New encoding. * README, man/iconv_open.3: Add CP949. * tests/Makefile.in (check): Check CP949. * tests/CP949.TXT: New file. Document CP932. * README, man/iconv_open.3: Add CP932. * tests/Makefile.in (check): Check CP932. * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files. * Makefile.devel (src/flags.h): Depend on src/converters.h. * tests/Makefile.in (check): Check JIS_X0201. * tests/JIS_X0201.TXT: New file. * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf. * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise. * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc. (iso2022_cn_ext_wctomb): Use isoir165_wctomb. Add ISO-IR-165 (undocumented). * tools/Makefile (all): Add isoir165ext.h. (isoir165ext.h): New rule. * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312. * src/isoir165.h, src/isoir165ext.h: New files. * src/converters.h: Include it. * src/encodings.def: Add ISO-IR-165. * tests/Makefile.in (check): Check ISO-IR-165. * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files. Add ISO646-CN (undocumented). * src/iso646_cn.h: New file. * src/converters.h: Include it. * src/encodings.def: Add ISO646-CN. * tests/Makefile.in (check): Check ISO646-CN. * tests/ISO646-CN.TXT: New file. Add ISO646-JP (undocumented). * src/iso646_jp.h: New file. * src/converters.h: Include it. * src/encodings.def: Add ISO646-JP. * tests/Makefile.in (check): Check ISO646-JP. * tests/ISO646-JP.TXT: New file. 2000-01-05 Bruno Haible Add ISO-8859-16. * tools/Makefile (all): Add iso8859_16.h. (iso8859_16.h): New rule. * src/iso8859_16.h: New file. * src/converters.h: Include it. * src/encodings.def: Add ISO-8859-16. * README, man/iconv_open.3: Add ISO-8859-16. * tests/Makefile.in (check): Check ISO-8859-16. * tests/ISO-8859-16.TXT: New file. * man/iconv.3: Clarify what happens *inbuf in case 3. * src/iso8859_8.h: Update using newest table from ftp.unicode.org. * tests/ISO-8859-8.TXT: Likewise. 2000-01-04 Bruno Haible * Version 1.0 released. * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0. (libiconv.la): Use LIBICONV_VERSION_INFO. 2000-01-03 Bruno Haible * tests/Makefile.in: New file. tests/check-stateless, tests/table-from.c, tests/table-to.c, tests/*.TXT, tests/genutf8.c: New files, checks for stateless encodings. tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files, checks for stateful encodings. * Makefile.in (all, check, mostlyclean, clean, distclean, maintainer-clean): Descend into tests directory. * configure.in: Add tests/Makefile to AC_OUTPUT duties. * src/gentranslit.c: New file. * Makefile.devel (src/translit.h): New rule. * src/translit.def, src/translit.h: New files. * src/iconv.c: Include it. (iconv): Transliterate using translit.h table. * src/genflags.c: New file. * Makefile.devel (src/flags.h): New rule. * src/flags.h: New file. * src/iconv.c: Include it. (encoding): Add field 'oflags'. (all_encodings): Initialize the field 'oflags'. (iconv_open): Copy field 'oflags'. (iconv): Transliterate quotation marks U+2018, U+2019, U+201A. * src/Makefile.in (iconv.lo): Update dependencies. * src/converters.h: New file, extracted from src/iconv.c. * src/iconv.c: Include it. * src/Makefile.in (iconv.lo): Update dependencies. * tools/cjk_variants.c: New file. * tools/Makefile (ALL): Add cjk_variants.h. (cjk_variants.h, cjk_variants): New rules. * src/cjk_variants.h: New file. * src/iconv.c: Include it. (iconv): Use cjk_variants for transliteration. * man/iconv.3: Fix description of return value. * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration. * iso2022_kr.h (iso2022kr_wctomb): Likewise. * src/iconv.c (iconv): Do Hangul transliteration here and increment result once for every transliterated character. * src/johab_hangul.h (johab_hangul_decompose): Change result array from 'unsigned char*' to 'wchar_t*'. * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing 0xfffd. * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6. * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like Katakana. * src/euc_tw.h (euc_tw_mbtowc): Fix typo. * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range 0xC6A1..0xC7FE. * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was not being excluded. Fix that. * src/ksc5601.h: Regenerated. * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is valid in KSC5601/KSX1001 but not in JOHAB. * src/iconv.c (conv_struct): Add fields iindex, oindex. (iconv_open): Fill in iindex, oindex. * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and "csUnicode11", from IANA charset list. (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH", from IANA charset list. (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208", from IANA charset list. (GB_2312-80): New encoding, from IANA charset list. * README, man/iconv_open.3: Add MacIceland and MacUkraine. * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf. (all): Depend on src/aliases.h. * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and $(srcdir)/aliases.gperf. (clean): Clean up. * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl". 1999-12-31 Bruno Haible * Version 0.3 released.