2000-02-24  Bruno Haible  <haible@clisp.cons.org>

        * src/iconv.c (iconv): Don't write beyond the end of the output buffer.
          Reported by Edmund Grimley Evans <edmundo@rano.org>.

2000-02-22  Bruno Haible  <haible@clisp.cons.org>

        * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.

2000-02-15  Bruno Haible  <haible@clisp.cons.org>

        * src/iconv.c (iconv): Add cast in xxx_reset call.

2000-01-24  Bruno Haible  <haible@clisp.cons.org>

        * 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  <haible@clisp.cons.org>

        * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
          '+' as "+-".

2000-01-22  Bruno Haible  <haible@clisp.cons.org>

        * 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 <iconv.h>.
        * 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  <haible@clisp.cons.org>

        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.
        * 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  <haible@clisp.cons.org>

        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  <haible@clisp.cons.org>

        * 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  <haible@clisp.cons.org>

        * 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  <haible@clisp.cons.org>

        * Version 0.3 released.

