* iconv/gconv_db.c: Don't define lock as static. Rename to
__gconv_lock and export from the file.
* iconv/gconv_int.h: Declare __gconv_lock.
* libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock
before __gconv_release_step calls.
Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
* iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change.
* iconv/gconv_db.c
* iconv/gconv_simple.c (STORE_REST): Explicitly store the total
expected size into state.
(UNPACK_BYTES): Do the reverse.
* wcsmbs/tst-mbrtowc.c (utf8_test_1): Add test for the bug.
Reported by Al Viro <aviro@redhat.com>.
2002-11-30 Bruno Haible <bruno@clisp.org>
* iconv/gconv.h (__gconv_btowc_fct): New typedef.
(struct __gconv_step): New field __btowc_fct.
* wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible.
* iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from
__BUILTIN_TRANS.
(__gconv_btwoc_ascii): New declaration.
* iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
(__gconv_btwoc_ascii): New function.
* iconv/gconv_builtin.h: Add BtowcFct argument to all
BUILTIN_TRANSFORMATION invocations.
* iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
* iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise.
* iconv/gconv_builtin.c (map): New field btowc_fct.
(BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize
btowc_fct field.
(__gconv_get_builtin_trans): Initialize __btowc_fct field.
* iconv/gconv_cache.c (find_module): Initialize __btowc_fct field.
* iconv/gconv_db.c (gen_steps, increment_counter): Likewise.
* wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise.
* iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE.
(gconv_init): Initialize __btowc_fct field.
Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end.
* iconv/loop.c: Document ONEBYTE_BODY.
(gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined.
Undefine ONEBYTE_BODY at the end.
* iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro.
* iconvdata/8bit-gap.c (NONNUL): New macro.
(BODY for FROM_LOOP): Use it.
(ONEBYTE_BODY): New macro.
* iconvdata/isiri-3342.c (HAS_HOLES): Set to 1.
(NONNUL): New macro.
* iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro.
* iconvdata/armscii-8.c (ONEBYTE_BODY): New macro.
* iconvdata/cp1255.c (ONEBYTE_BODY): New macro.
* iconvdata/cp1258.c (ONEBYTE_BODY): New macro.
* iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro.
* iconvdata/big5.c (ONEBYTE_BODY): New macro.
* iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-cn.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-jp.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-kr.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-tw.c (ONEBYTE_BODY): New macro.
* iconvdata/gbk.c (ONEBYTE_BODY): New macro.
* iconvdata/gb18030.c (ONEBYTE_BODY): New macro.
* iconvdata/ibm932.c: Include <stdbool.h>.
(TRUE, FALSE): Remove macros.
(BODY for FROM_LOOP): Remove unused variable rp1.
(ONEBYTE_BODY): New macro.
(BODY for TO_LOOP): Use bool.
* iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array.
* iconvdata/ibm943.c: Include <stdbool.h>.
(TRUE, FALSE): Remove macros.
(BODY for FROM_LOOP): Remove unused variable rp1.
(ONEBYTE_BODY): New macro.
(BODY for TO_LOOP): Use bool.
* iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array.
* iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro.
* iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro.
* iconvdata/iso_6937.c (ONEBYTE_BODY): New macro.
* iconvdata/johab.c (ONEBYTE_BODY): New macro.
* iconvdata/sjis.c (ONEBYTE_BODY): New macro.
* iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro.
* iconvdata/t.61.c (ONEBYTE_BODY): New macro.
* iconvdata/uhc.c (ONEBYTE_BODY): New macro.
* iconvdata/gbbig5.c: Tweak comment.
* iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return
__GCONV_EMPTY_INPUT only if input is really empty. Otherwise
__GCONV_INCOMPLETE_INPUT.
(ucs4le_internal_loop): Likewise.
(ucs4le_internal_loop_unaligned): Likewise.
* iconvdata/unicode.c (PREPARE_LOOP): Likewise.
* iconvdata/utf-16.c (PREPARE_LOOP): Likewise.
* iconvdata/utf-32.c (PREPARE_LOOP): Likewise.
* iconv/loop.c (LOOPFCT): First test for empty input then for full
output buffer.
2002-05-26 Bruno Haible <bruno@clisp.org>
* iconv/loop.c (STANDARD_FROM_LOOP_ERR_HANDLER): New macro.
(STANDARD_TO_LOOP_ERR_HANDLER): Renamed from STANDARD_ERR_HANDLER.
All callers changed.
* iconv/gconv_simple.c (ascii_internal_loop): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(utf8_internal_loop): Likewise.
(ucs2_internal_loop): Likewise.
(internal_ucs2_loop): Perform error handling like in
STANDARD_FROM_LOOP_ERR_HANDLER.
* iconvdata/unicode.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/utf-16.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/utf-32.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/big5.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/8bit-gap.c (BODY for FROM_LOOP): Likewise.
* iconvdata/8bit-generic.c (BODY for FROM_LOOP): Likewise.
* iconvdata/ansi_x3.110.c (BODY for FROM_LOOP): Likewise.
* iconvdata/armscii-8.c (BODY for FROM_LOOP): Likewise.
* iconvdata/cp1255.c (BODY for FROM_LOOP): Likewise.
* iconvdata/cp1258.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-cn.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-tw.c (BODY for FROM_LOOP): Likewise.
* iconvdata/big5hkscs.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gb18030.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gbk.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-jp-3.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso646.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso_6937-2.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso_6937.c (BODY for FROM_LOOP): Likewise.
* iconvdata/johab.c (BODY for FROM_LOOP): Likewise.
* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
* iconvdata/sjis.c (BODY for FROM_LOOP): Likewise.
* iconvdata/t.61.c (BODY for FROM_LOOP): Likewise.
* iconvdata/uhc.c (BODY for FROM_LOOP): Likewise.
* iconvdata/utf-7.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gbbig5.c (BODY for FROM_LOOP): Likewise. When ignoring
an error, still set result = __GCONV_ILLEGAL_INPUT.
(BODY for TO_LOOP): Likewise.
* iconvdata/ibm930.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm932.c: Include <dlfcn.h> and <stdint.h>.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm933.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm935.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm937.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm939.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm943.c: Include <dlfcn.h> and <stdint.h>.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/gbgbk.c (BODY for FROM_LOOP): Update.
* iconvdata/iso8859-1.c (BODY for TO_LOOP): Update.
* iconvdata/tcvn5712-1.c (BODY for TO_LOOP): Update.
2002-06-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/dl-machine.h (elf_machine_load_address): Use local
labels in assembler instructions.
2001-07-22 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_builtin.c (struct builtin_map): Remove init and end
elements.
(BUILTIN_TRANSFORMATION): Remove Init and End parameters.
(__gconv_get_builtin_trans): Initialize __init_fct and __end_fct to
NULL.
* iconv/gconv_builtin.h: Remove NULL parameters for Init and End in
all BUILTIN_TRANSFORMATION calls.
* iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Remove Init and End
parameters.
* iconv/gconv_simple.c: Likewise.
* iconv/gconv_db.c (gen_steps): Internal converters don't have
initializers, move the code accordingly.
* iconv/gconv_conf.c (__gconv_read_conf): Don't read configuration
file if STATIC_GCONV is defined.
* iconv/gconv_conf.c (__gconv_path_envvar): New global variable.
(__gconv_get_path): Use it instead of call getenv.
(__gconv_read_conf): First see whether cache can be used. If yes,
don't do any work here.
* iconv/gconv_db.c (__gconv_release_step): Renamed from release_step
and exported. Change callers.
(__gconv_find_transform): First call __gconv_lookup_cache and only
continue if it signals no cache available. Remove some unnecessary
tests.
* iconv/gconv_int.h: Declare __gconv_path_envvar, __gconv_lookup_cache,
__gconv_release_step, and __gconv_loaded_cache.
* iconv/gconv_cache.c: New file.
* iconv/iconvconfig.c: New file.
* iconv/iconvconfig.h: New file.
* iconv/strtab.c: New file.
* iconv/Makefile: Add rules to build new files and programs.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2001-06-04 Bruno Haible <haible@clisp.cons.org>
* iconv/loop.c (UNICODE_TAG_HANDLER): New macro.
* iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke
UNICODE_TAG_HANDLER.
(__gconv_transform_internal_ucs2): Likewise.
(__gconv_transform_internal_ucs2reverse): Likewise.
* iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER.
* iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise.
* iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise.
* iconvdata/big5.c (BODY for TO_LOOP): Likewise.
* iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise.
* iconvdata/cp1255.c (BODY for TO_LOOP): Likewise.
* iconvdata/cp1258.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise.
* iconvdata/gbk.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm930.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm932.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm933.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm935.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm937.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm939.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm943.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso646.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise.
* iconvdata/johab.c (BODY for TO_LOOP): Likewise.
* iconvdata/sjis.c (BODY for TO_LOOP): Likewise.
* iconvdata/t.61.c (BODY for TO_LOOP): Likewise.
* iconvdata/uhc.c (BODY for TO_LOOP): Likewise.
* iconvdata/unicode.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j,
TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z,
TAG_language_zh, CURRENT_TAG_MASK): New enum values.
(EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set
is already selected but set2 or tag are set.
(conversion): New enum type.
(cvlist_t): New type.
(CVLIST, CVLIST_FIRST, CVLIST_REST): New macros.
(conversion_lists): New array.
(BODY for TO_LOOP): 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. Small
optimizations.
(INIT_PARAMS): Add tag.
(UPDATE_PARAMS): Add tag.
2001-06-04 Bruno Haible <haible@clisp.cons.org>
* locale/programs/locfile.c (write_locale_data): Before creat(),
unlink the file, to avoid crashing the processes that mmap it. Change
a double slash to a single slash. Free fname in case of error return.
2001-06-02 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03
changes, do the special handling for denormal numbers, not for
normalized numbers (patch by <trevin@xmission.com>).
* math/test-misc.c (main): Test frexpl with denormal arguments.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* math/libm-test.inc (llround_test): Add two new llround tests.
* sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow
overflow when rounding away from zero.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2.
* math/math_private.h (__ieee754_log2, __ieee754_log2f,
__ieee754_log2l): New prototypes.
* sysdeps/generic/w_log2.c: New file.
* sysdeps/generic/w_log2f.c: New file.
* sysdeps/generic/w_log2l.c: New file.
* sysdeps/generic/s_log2l.c: Move...
* sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l.
* sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0)
and log2(x < 0).
* sysdeps/i386/fpu/s_log2.S: Move...
* sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2.
* sysdeps/i386/fpu/s_log2f.S: Move...
* sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f.
* sysdeps/i386/fpu/s_log2l.S: Move...
* sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l.
* sysdeps/m68k/fpu/s_log2.S: Move...
* sysdeps/m68k/fpu/e_log2.S: ...to here. Rename to __ieee754_log2.
* sysdeps/m68k/fpu/s_log2f.S: Move...
* sysdeps/m68k/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f.
* sysdeps/m68k/fpu/s_log2l.S: Move...
* sysdeps/m68k/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l.
* sysdeps/ieee754/dbl-64/s_log2.c: Move...
* sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to
__ieee754_log2.
* sysdeps/ieee754/flt-32/s_log2f.c: Move...
* sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to
__ieee754_log2f.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that
even arguments which result in denormalized exp2 are accepted.
(__exp2): Arguments equal to u_threshold already result into
underflow.
* sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise.
* sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise.
* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too
low, with corrected lowmark use greaterequal, not greater.
* sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX.
* sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf.
* sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise.
* sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise.
* sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise.
* sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise.
* sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise.
* sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/w_coshl.c (__coshl): Test if finite argument
gave non-finite result instead of using constant in generic
version.
* sysdeps/generic/w_coshf.c (__coshf): Likewise.
* sysdeps/generic/w_cosh.c (__cosh): Likewise.
* sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove.
(__exp10): Test if finite argument gave non-finite result.
* sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f):
Likewise.
* sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l):
Likewise.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix
overflow threshold constant (log(LDBL_MAX)+M_LN2l).
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (idx_table): New struct type.
(idx_table_init, idx_table_get, idx_table_add): New functions.
(MAX_CHARNAMES_IDX): Remove macro.
(locale_ctype_t): Change type of charnames_idx field.
(ctype_startup): Change initialization of charnames_idx field.
(find_idx): Use idx_table_get and idx_table_add for speed.
* locale/programs/charmap.c (charmap_new_char): Fix ucs4 value
computation of characters in a range.
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for <U03F4>,
<U03F5>.
(__ucs_to_gb18030_tab1): Likewise.
(BODY for FROM_LOOP): Add mapping for <U00010000>..<U0010FFFF>.
(BODY for TO_LOOP): Likewise.
* iconvdata/tst-table-charmap.sh: Update for charmaps containing
<U00xxxxxx> syntax.
* iconvdata/tst-table-from.c (bmp_only): New variable.
(utf8_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 utf8_decode returns NULL.
* iconvdata/tst-table-to.c (main): When testing encodings other than
UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8
instead of UCS-2 as input.
* iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000
of the charmap.
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* iconvdata/cns11643l1.c: Update to Unicode 3.1.
(__cns11643l1_to_ucs4_tab): Regenerated.
(__cns11643l1_from_ucs4_tab12): Regenerated.
* iconvdata/cns11643.c: Update to Unicode 3.1.
(__cns11643l14_to_ucs4_tab): Remove array.
(__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab,
__cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab,
__cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays.
(__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab.
(__cns11643_from_ucs4p2_tab): New array.
* iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration.
(__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab,
__cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab,
__cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations.
(cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14.
(__cns11643_from_ucs4_tab): Remove declaration.
(__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New
declarations.
(ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and
U+20000..U+2A6D6.
* iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove
declaration.
(__cns11643_from_ucs4p0_tab): New declaration.
(ucs4_to_cns11643l2): Update for new arrays.
* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes
3 to 7.
(BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14.
* iconvdata/EUC-TW.irreversible: New file.
* iconvdata/tst-table.sh: Use it.
* iconvdata/Makefile (distribute): Add CP1255.irreversible,
CP1258.irreversible, EUC-TW.irreversible.
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* locale/C-translit.h.in: Add transliterations for new Unicode 3.1
mathematical symbols.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* sysdeps/unix/sysv/linux/cris/Dist: New file.
* sysdeps/unix/sysv/linux/cris/Makefile: New file.
* sysdeps/unix/sysv/linux/cris/_G_config.h: New file.
* sysdeps/unix/sysv/linux/cris/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/cris/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/cris/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/cris/brk.c: New file.
* sysdeps/unix/sysv/linux/cris/chown.c: New file.
* sysdeps/unix/sysv/linux/cris/clone.S: New file.
* sysdeps/unix/sysv/linux/cris/fchown.c: New file.
* sysdeps/unix/sysv/linux/cris/fcntl.c: New file.
* sysdeps/unix/sysv/linux/cris/fxstat.c: New file.
* sysdeps/unix/sysv/linux/cris/getegid.c: New file.
* sysdeps/unix/sysv/linux/cris/geteuid.c: New file.
* sysdeps/unix/sysv/linux/cris/getgid.c: New file.
* sysdeps/unix/sysv/linux/cris/getgroups.c: New file.
* sysdeps/unix/sysv/linux/cris/getresgid.c: New file.
* sysdeps/unix/sysv/linux/cris/getresuid.c: New file.
* sysdeps/unix/sysv/linux/cris/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/cris/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/cris/getuid.c: New file.
* sysdeps/unix/sysv/linux/cris/lchown.c: New file.
* sysdeps/unix/sysv/linux/cris/lockf64.c: New file.
* sysdeps/unix/sysv/linux/cris/lxstat.c: New file.
* sysdeps/unix/sysv/linux/cris/mmap.S: New file.
* sysdeps/unix/sysv/linux/cris/mmap64.S: New file.
* sysdeps/unix/sysv/linux/cris/msgctl.c: New file.
* sysdeps/unix/sysv/linux/cris/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/cris/register-dump.h: New file.
* sysdeps/unix/sysv/linux/cris/semctl.c: New file.
* sysdeps/unix/sysv/linux/cris/setegid.c: New file.
* sysdeps/unix/sysv/linux/cris/seteuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setfsgid.c: New file.
* sysdeps/unix/sysv/linux/cris/setfsuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setgid.c: New file.
* sysdeps/unix/sysv/linux/cris/setgroups.c: New file.
* sysdeps/unix/sysv/linux/cris/setregid.c: New file.
* sysdeps/unix/sysv/linux/cris/setresgid.c: New file.
* sysdeps/unix/sysv/linux/cris/setresuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setreuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/cris/setuid.c: New file.
* sysdeps/unix/sysv/linux/cris/shmctl.c: New file.
* sysdeps/unix/sysv/linux/cris/socket.S: New file.
* sysdeps/unix/sysv/linux/cris/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/cris/syscall.S: New file.
* sysdeps/unix/sysv/linux/cris/sysdep.S: New file.
* sysdeps/unix/sysv/linux/cris/sysdep.h: New file.
* sysdeps/unix/sysv/linux/cris/vfork.S: New file.
* sysdeps/unix/sysv/linux/cris/xstat.c: New file.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* sysdeps/cris/Dist: New file.
* sysdeps/cris/Implies: New file.
* sysdeps/cris/Makefile: New file.
* sysdeps/cris/__longjmp.S: New file.
* sysdeps/cris/_mcount.S: New file.
* sysdeps/cris/bits/endian.h: New file.
* sysdeps/cris/bits/setjmp.h: New file.
* sysdeps/cris/bits/string.h: New file.
* sysdeps/cris/dl-machine.h: New file.
* sysdeps/cris/elf/start.S: New file.
* sysdeps/cris/machine-gmon.h: New file.
* sysdeps/cris/memcopy.h: New file.
* sysdeps/cris/memusage.h: New file.
* sysdeps/cris/setjmp.S: New file.
* sysdeps/cris/sysdep.h: New file.
* sysdeps/cris/wordcopy.c: New file.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* elf/elf.h: Add new relocations for CRIS.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* shlib-versions: Add cases for Linux on CRIS.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* configure.in (ASM_LINE_SEP tests): Handle CRIS assembly, with
';' for comments and '@' for line separator.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): Fix
typo; s/==/=/ for assignment.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* malloc/Makefile: Correct comment; mtrace is Perl, not AWK.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* iconv/gconv_simple.c (internal_ucs4_loop_unaligned): Check for
empty input before checking full output.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* iconv/gconv.c (__gconv): Don't derefer parameter cd before
checking if == -1L.
2001-04-08 Ulrich Drepper <drepper@redhat.com>
* inet/rexec.c (rexec_af): Avoid calling perror with errno being set.
2000-09-18 Ulrich Drepper <drepper@redhat.com>
* version.h (VERSION): Bump to 2.1.94.
* malloc/mtrace.c (mtrace): Mark stream as close on exec.
2000-09-17 Bruno Haible <haible@clisp.cons.org>
* iconvdata/utf-16.c (BODY for TO_LOOP): Reject UCS-4 input in the
range 0xD800..0xDFFF.
* iconvdata/unicode.c (BODY for TO_LOOP): Likewise.
(BODY for FROM_LOOP): Likewise.
* iconv/gconv_simple.c (ucs2_internal_loop): Likewise.
(internal_ucs2_loop): Likewise.
(ucs2reverse_internal_loop): Likewise.
(internal_ucs2reverse_loop): Likewise.
2000-09-17 Bruno Haible <haible@clisp.cons.org>
* iconvdata/utf-16.c (gconv_init): Add missing slashes to encoding
names.
2000-09-17 Bruno Haible <haible@clisp.cons.org>
* iconvdata/tst-table-from.c (main): Fix test for error on stdout.
* iconvdata/tst-table-to.c (main): Likewise.
2000-09-17 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso-ir-165.c (__isoir165_from_tab): Renamed from
__isoir165_tab.
* iconvdata/cns11643.h (__cns11643l1_to_ucs4_tab): New declaration.
* iconvdata/iso-2022-cn-ext.c: Include "cns11643.h".
(GB7590_set, GB13132_set, CNS11643_3_set, CNS11643_4_set,
CNS11643_5_set, CNS11643_6_set, CNS11643_7_set): Change enum values.
(BODY for FROM_LOOP): Fix buffer overrun. Treat CNS11643 plane 3.
Return __GCONV_INCOMPLETE_INPUT instead of __GCONV_EMPTY_INPUT.
(BODY for TO_LOOP): Fix usage of `set' vs. `used'. Fix typo that
caused GB2312 to be used instead of ISO-IR-165. Treat CNS11643
plane 3. Fix shift sequences. Output announcement for SS2 and SS3
encodings when needed. When outputting an announcement, don't clear
most other announcements.
2000-09-17 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Fix buffer overrun.
(BODY for TO_LOOP): Fix usage of `set' vs. `used'.
2000-09-14 Bruno Haible <haible@clisp.cons.org>
* intl/Versions: Add bind_textdomain_codeset.
2000-06-19 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv.h (__gconv_trans_fct): Add new parameter.
General namespace cleanup.
(struct __gconv_trans_data): Add next field.
(struct __gconv_step_data): Make __trans a pointer.
* iconv/gconv_conf.c: Split out code to find gconv directories from
__gconv_read_conf in new functions.
* iconv/gconv_int.h: Define new data structure and declare new
functions for handling of gconv directory list.
* iconv/gconv_open.c: Allow more than one error handling step being
used. Call function to load error handling module if it is none
of the builtin transformations.
* iconv/gconv_close.c: Add code to free transliteration data.
* iconv/gconv_trans.c: Add functions to load and unload modules
implementing transliteration etc.
* iconv/skeleton.c: Call all context functions now that more than
one module is allowed.
* iconv/loop.c (STANDARD_ERR_HANDLING): New macro.
* iconv/gconv_simple.c: Use STANDARD_ERR_HANDLING macro for places
where the full error handling using transliteration is needed.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/big5hkscs.c: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gbgbk.c: Likewise.
* iconvdata/gbk.c: Likewise.
* iconvdata/iso-2022-cn.c: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* iconvdata/unicode.c: Likewise.
* iconvdata/utf-16.c: Likewise.
* libio/iofwide.c: Reset __trans member of __gconv_trans_data
structure correctly after last change.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* localedata/Makefile: Set -Wno-format for some files since gcc does
not know all the format specifiers.
2000-06-18 Ulrich Drepper <drepper@redhat.com>
* locale/loadlocale.c (_nl_unload_locale): Remove a bit of
unneeded code.
* locale/lc-time.c (_nl_init_era_entries): Likewise.
* iconv/gconv_dl.c: Add __builtin_expect in many places.
* iconv/skeleton.c: Add more __builtin_expect.
* iconv/gconv_simple.c: Add __builtin_expect in many places.
* iconv/gconv_simple.c: Define separate functions to convert from
UCS4/UCS4-LE to the internal encoding.
* iconv/gconv_builtin.h: Use separate functions to convert from
UCS4/UCS4-LE to the internal encoding.
* iconv/gconv_int.h: Declare __gconv_transform_ucs4_internal and
__gconv_transform_ucs4le_internal.
* iconv/gconv_simple.c (internal_utf8_loop): Correct check for
output buffer overflow. Reported by Ulrich.Brink@sap.com.
2000-04-09 Ulrich Drepper <drepper@redhat.com>
Implement handling of restartable conversion functions according to
ISO C.
* iconv/gconv.h (__gconv_fct): Add additional parameter.
* iconv/gconv_int.h (__BUILTIN_TRANS): Likewise.
* iconv/gconv.c: Pass additional parameter to conversion function.
* iconv/gconv_simple.c (internal_ucs4_loop_single): New function.
(internal_ucs4le_loop_single): New function.
(__gconv_transform_ascii_internal): Define ONE_DIRECTION.
(__gconv_transform_internal_ascii): Likewise.
(__gconv_transform_internal_utf8): Likewise.
(__gconv_transform_utf8_internal): Likewise.
(__gconv_transform_ucs2_internal): Likewise.
(__gconv_transform_internal_ucs2): Likewise.
(__gconv_transform_ucs2reverse_internal): Likewise.
(__gconv_transform_internal_ucs2reverse): Likewise.
(internal_ucs4le_loop_unaligned): Before return
__GCONV_INCOMPLETE_INPUT check that the remaining bytes really form
a valid character. Otherwise return __GCONV_ILLEGAL_INPUT.
(__gconv_transform_utf8_internal): Define STORE_REST and UNPACK_BYTES.
* iconv/loop.c: Fit in definition of function to convert one character
for processing of left-over bytes from the state object.
* iconv/skeleton.c (gconv): Rename inbuf to inptrp and inbufend to
inend to match names in loop functions.
(RESET_INPUT_BUFFER): Change apprpriately.
(gconv): If needed, call function to process bytes from the state
object. Similar at the end: store left over bytes if input is
incomplete.
Take extra argument and add new argument to all calls of the
conversion function.
* iconvdata/iso-2022-cn.c: Adjust numeric values used to store
information in the state object to not conflict with length count.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/unicode.c: Adjust for change change in parameters of
skeleton function.
* iconvdata/utf-16.c: Likewise.
* libio/iofwide.c: Add new parameter to all calls of conversion
function.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconvdata/gbgbk.c: Always define MAX_NEEDED_OUTPUT and
MAX_NEEDED_INPUT.
* iconv/skeleton.c: Define access macros with u suffix. Adjust
#if expression for use of unaligned function to the one used in
the definition of these functions.
* iconv/gconv_simple.c (internal_ucs4_loop_unaligned): New function.
(internal_ucs4le_loop_unaligned): New function.
Ralf Baechle <ralf@uni-koblenz.de>
2000-03-23 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_int.h (__gconv_transform_ucs2little_internal,
__gconv_transform_internal_ucs2little): Remove declarations.
* iconv/gconv_simple.c (__gconv_transform_ucs2_internal,
__gconv_transform_internal_ucs2): Never need to bswap_16.
(__gconv_transform_ucs2reverse_internal,
__gconv_transform_internal_ucs2reverse): Always need to bswap_16.
2000-02-13 Ulrich Drepper <drepper@redhat.com>
* iconvdata/Makefile (modules): Add UTF-16.
(distribute): Add utf-16.c.
* iconvdata/gconv-modules: Add entries for UTF-16, UTF-16BE, and
UTF-16LE.
* iconvdata/utf-16.c: New file.
* iconv/gconv_builtin.h: Remove UTF-16 entries here.
* iconv/gconv_simple.c: Remove conversion functions to and from UTF-16.
* iconv/skeleton.c: Increment __invocation_coounter after every call
to the loops.
1999-01-18 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv_conf.c (add_module): Complete rewrite. Use cleverer
data structures and avoid creating intermediate representations
first. Rewrite also all helper functions.
* iconv/gconv_db.c (find_derivation): Use new data structure for
module database.
* iconv/Versions: Remove __gconv_nmodules.
* iconv/iconv_prog.c: Rewrite generation of charset name list to
use new data structure.
* iconv/gconv_int.h (struct gconv_module): Add new elements for
database data structure.
(__gconv_modules_db): Update type.
(__gconv_transform_dummy): Removed.
* iconv/gconv_builtin.h: Remove dummy transformation.
* iconv/gconv_simple.c: Remove __gconv_transform_dummy.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove
__syscall_vfork, add vfork.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* Rules: Add dummp.c and dummy.o to common-generated.
1998-04-29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconv/gconv_simple.c: Fix endian bug. Don't put side effects in
argument of bswap_XX macro.
1998-04-28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconvdata/Makefile (EBCDIC-DK-NO-A-routines): Fix typo in
variable name.