Commit Graph

148 Commits

Author SHA1 Message Date
Ulrich Drepper
dec5e067e8 (main): Avoid warning. Pretty printing. 2001-08-07 02:44:12 +00:00
Ulrich Drepper
129d706d77 Update.
* libio/fileops.c (_IO_new_file_fopen): Correctly locate ccs=
	substring.  Don't handle ccs= if no descriptor was allocated.
	Normalize codeset name before calling __wcsmbs_named_conv.
	Initialize transliteration elements.  Free step data structure.
	* libio/iofclose.c (_IO_new_fclose): Correct freeing of the step data.
	* libio/iofwide.c (__libio_translit): Renamed from libio_translit
	and made public.  Various little cleanup changes.
	* wcsmbs/wcsmbsload.h (struct gconv_fcts): Add towc_nsteps and
	tomb_nsteps member.
	* wcsmbs/wcsmbsload.c: Add some casts to avoid warnings.
	(__wcsmbs_gconv_fcts): Initialize towc_nsteps and tomb_nsteps member.
	(getfct): Take additional parameter with pointer to variable where the
	number of steps is stored in.  Disable code which allows to use more
	than one step for now.  Adjust all callers.
	(free_mem): New function.  Frees data associated with currently
	selected converters.
2001-07-27 08:29:06 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
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-07-06 04:58:11 +00:00
Ulrich Drepper
e017830580 Update.
2001-05-21  Bruno Haible  <haible@clisp.cons.org>

	* wcsmbs/mbrtowc.c (mbrtowc): Remove local variable 'flush', always
	use 0 instead, and rely on the converter to do the flush.
	* wcsmbs/tst-mbrtowc.c (utf8_test_1): New function, taken from
	utf8_test.
	(utf8_test_2, utf8_test_3): New function.
	(utf8_test): Call utf8_test_1, utf8_test_2, utf8_test_3.
2001-05-23 00:08:46 +00:00
Andreas Jaeger
07c416ed09 Update.
2001-05-05  Jakub Jelinek  <jakub@redhat.com>

	* include/features.h (__USE_EXTERN_INLINES): Don't define if
	__NO_INLINE__ is defined.
	* ctype/ctype.h (tolower, toupper): Change the guard condition to
	__USE_EXTERN_INLINES check only.
	* stdlib/stdlib.h (strtod, ...): Likewise.
	* wcsmbs/wchar.h (mbrlen): Likewise.
	* string/string.h: Only include bits/string.h and bits/string2.h
	if __NO_INLINE__ is not defined.
2001-05-07 08:43:11 +00:00
Ulrich Drepper
21848d0b73 (fgetwc, getwc, getwchar, fputwc, putwc, putwchar, fgetws, fputws, ungetwc, getwc_unlocked, getwchar_unlocked, fgetwc_unlocked, fputwc_unlocked, putwc_unlocked, putwchar_unlocked, fgetws_unlocked, fputws_unlocked, wcsftime): Add __THROW. 2001-04-11 16:13:56 +00:00
Ulrich Drepper
821a6bb436 Update.
* posix/tst-fnmatch.input: Add test case for FNM_PERIOD handling with
	FNM_EXTMATCH.

	* posix/fnmatch_loop.c: Optimize handling of ?() and @().
	* posix/fnmatch.c: Define STRLEN and STRCAT appropriately.

	* posix/Versions [libc] (GLIBC_2.2.3): Add fnmatch.
	* posix/fnmatch.c: Define with new default version GLIBC_2.2.3 to
	avoid running binaries with libc versions without FNM_EXTMATCH support.

	* include/wchar.h: Add prototype for __wcscat.
	* wcsmbs/wcscat.c: Define __wcscat and make wcscat weak alias.
2001-03-15 20:04:25 +00:00
Andreas Jaeger
bd7f30a9b7 Update.
2001-02-06  Andreas Jaeger  <aj@suse.de>

	* include/pthread.h: New file.

	* wctype/wctype.h: Move internal interfaces from here to...
	* include/wctype.h: ...here.

	* wcsmbs/wchar.h: Move __wcslen from here to...
	* include/wchar.h: ...here.

	* posix/sys/wait.h: Move __wait from here to...
	* include/sys/wait.h: ...here.

	* string/string.h: Move __ffs and __strerror_r from here to...
	* include/string.h: ...here.

	* stdlib/stdlib.h: Move __on_exit from here to...
	* include/stdlib.h: ...here.

	* libio/stdio.h: Move __vsnprintf from here to...
	* include/stdio.h: ...here.
2001-02-06 18:27:57 +00:00
Ulrich Drepper
d9826675fc Update.
* wcsmbs/wchar.h: Get FILE definition for XPG5.
2001-01-25 08:43:53 +00:00
Andreas Jaeger
aa2f198841 * wcsmbs/tst-mbrtowc.c (utf8_test): New function by Markus Kuhn
<mkuhn@acm.org>.
2001-01-11 16:30:08 +00:00
Ulrich Drepper
bb2fc8504d Update.
2000-11-18  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/mbrtowc.c (__mbrtowc): Do not only flush if input is '\0'.

	* wcsmbs/Makefile (tests): Add tst-mbrtowc and tst-wcrtomb.
	(tst-mbrtowc-ENV): New variable.
	(tst-wcrtomb-ENV): New variable.
	* wcsmbs/tst-mbrtowc.c: New file.
	* wcsmbs/tst-wcrtomb.c: New file.
2000-11-18 21:08:05 +00:00
Ulrich Drepper
4a9dcff10e Update.
* charmaps/ISO-IR-197: Remove alias "none".

2000-09-30  Bruno Haible  <haible@clisp.cons.org>
2000-10-01 18:59:42 +00:00
Ulrich Drepper
d6040f1781 Update.
2000-09-30  Bruno Haible  <haible@clisp.cons.org>

	* tests-mbwc/tst_wcscmp.c (tst_wcscmp): Take the sign of ret.
	* tests-mbwc/dat_wcscmp.c (tst_wcscmp_loc): Don't expect precise
	return values.  Only the sign matters.
2000-10-01 18:47:09 +00:00
Ulrich Drepper
d164630900 Update.
* libio/stdio.h: Define __FILE if __need___FILE is defined.
	* stdio/stdio.h: Likewise.
	* wcsmbs/wchar.h: Get definition of __FILE. Use __FILE instead of FILE.
	* include/stdio.h: Handle __need___FILE like __need_FILE.
	* include/wchar.h: Use __FILE instead of FILE.
	* libio/fwprintf.c: Include <stdio.h> for FILE definition.
	* libio/fwscanf.c: Likewise.
	* libio/getwc.c: Likewise.

	* sysdeps/generic/stdint.h (WINT_MAX): Define to 4294967295u.
	* sysdeps/generic/bits/wchar.h (WCHAR_MIN): Define to -2147483647 - 1.
	* sysdeps/unix/sysv/linux/i386/bits/wchar.h: Likewise.

	* assert/assert.h: Update comment header about ISO C section.
	* math/complex.h: Likewise.
	* ctype/ctype.h: Likewise.
	* include/errno.h: Likewise.
	* include/limits.h: Likewise.
	* locale/locale.h: Likewise.
	* math/math.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* signal/signal.h: Likewise.
	* stdio/stdio.h: Likewise.
	* libio/stdio.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* time/time.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* wctype/wctype.h: Likewise.
	Patches by Joseph S. Myers <jsm28@cam.ac.uk>.

2000-09-13  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Fix test
	for no more entries.
	* sysdeps/unix/sysv/aix/bits/socket.h (__cmsg_nxthdr): Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Likewise.
	Reported by Eric S. Johnson <esj@cs.fiu.edu>, closes PR libc/1887.

2000-09-13  Ulrich Drepper  <drepper@redhat.com>
2000-09-14 01:43:19 +00:00
Ulrich Drepper
0d69b1ac9f Update.
* wcsmbs/Depend: New file.
	* wcsmbs/Makefile (tests): Add tst-btowc.
	(tst-btowc-ENV): Define.
	* wcsmbs/tst-btowc.c: New file.
2000-09-06 22:15:07 +00:00
Ulrich Drepper
4c7d276eb1 Update.
2000-08-31  Bruno Haible  <haible@clisp.cons.org>

	* wctype/wcfuncs.c (iswblank): New function.
	* wctype/wcfuncs_l.c (__iswblank_l): New function.
	* wctype/wcextra.c: Remove file.
	* wctype/wcextra_l.c: Remove file.
	* wctype/Makefile (distribute): Remove wcextra and wcextra_l.

2000-08-31  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/ld-collate.c (collate_output): Remove redundant
	assert call.
	* string/strcoll.c: Likewise.
	* string/strxfrm.c: Include assert.h.  Add assert calls like in
	string/strcoll.c.

2000-08-31  Bruno Haible  <haible@clisp.cons.org>

	* locale/categories.def (_NL_COLLATE_HASH_SIZE,
	_NL_COLLATE_HASH_LAYERS, _NL_COLLATE_NAMES, _NL_CTYPE_NAMES,
	_NL_CTYPE_HASH_SIZE, _NL_CTYPE_HASH_LAYERS): Remove definitions.
	* locale/langinfo.h (_NL_COLLATE_HASH_SIZE, _NL_COLLATE_HASH_LAYERS,
	_NL_COLLATE_NAMES): Rename to _NL_COLLATE_GAP1/2/3 respectively.
	(_NL_CTYPE_NAMES): Rename to _NL_CTYPE_GAP3.
	(_NL_CTYPE_GAP3): Rename to _NL_CTYPE_GAP4.
	(_NL_CTYPE_HASH_SIZE, _NL_CTYPE_HASH_LAYERS): Rename to
	_NL_CTYPE_GAP5/6 respectively.

	* locale/C-ctype.c (_nl_C_LC_CTYPE): Update.
	* ctype/ctype-info.c (__ctype_names, __ctype_width): Remove variables.
	* locale/lc-ctype.c (_nl_postload_ctype): Assume new locale format.
	Don't initialize __ctype_names and __ctype_width.
	* wctype/cname-lookup.h: Remove file.
	* wctype/Makefile (distribute): Remove cname-lookup.h.
	* wctype/wchar-lookup.h: Include stdint.h.
	* wctype/wctype.c (__wctype): Assume new locale format.
	* wctype/wctype_l.c (__wctype_l): Likewise.
	* wctype/iswctype.c: Don't include cname-lookup.h.
	(__iswctype): Assume new locale format.
	* wctype/iswctype_l.c: Don't include cname-lookup.h.
	(__iswctype_l): Assume new locale format.
	* wctype/wctrans.c: Don't include ctype.h.
	(wctrans): Assume new locale format.
	* wctype/wctrans_l.c (__wctrans_l): Likewise.
	* wctype/towctrans.c: Don't include cname-lookup.h.
	(__towctrans): Assume new locale format.
	* wctype/towctrans_l.c: Don't include cname-lookup.h.
	(__towctrans_l): Assume new locale format.
	* wctype/wcfuncs.c: Don't include ctype.h and cname-lookup.h. Include
	localeinfo.h instead.
	(__NO_WCTYPE): Remove unused macro.
	(__ctype32_b, __ctype32_toupper, __ctype32_tolower): Remove
	declarations.
	(iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph, iswprint,
	iswpunct, iswspace, iswupper, iswxdigit): Assume new locale format.
	(towlower, towupper): Likewise.
	* wctype/wcfuncs_l.c: Don't include cname-lookup.h. Include
	localeinfo.h instead.
	(__NO_WCTYPE): Remove unused macro.
	(__iswalnum_l, __iswalpha_l, __iswcntrl_l, __iswdigit_l, __iswlower_l,
	__iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l,
	__iswxdigit_l): Assume new locale format.
	(__towlower_l, __towupper_l): Likewise.
	* wcsmbs/wcwidth.h: Don't include cname-lookup.h.
	(__ctype32_b): Remove declaration.
	(internal_wcwidth): Assume new locale format.
	* locale/programs/ld-ctype.c (struct locale_ctype_t): Remove fields
	plane_size, plane_cnt, names, width. Rename map to map_b, rename map32
	to map32_b, rename width_3level to width.
	(ctype_output): Always create new locale format. Don't emit
	_NL_CTYPE_NAMES, _NL_CTYPE_HASH_SIZE, _NL_CTYPE_HASH_LAYERS any more.
	(allocate_arrays): Always create new locale format.

	* locale/C-collate.c (_nl_C_LC_COLLATE): Update.
	* locale/weightwc.h (findidx): Assume new locale format.
	* string/strcoll.c (wcscoll): Remove local variables size, layers,
	names.
	* string/strxfrm.c (wcsxfrm): Likewise.
	* posix/fnmatch_loop.c (internal_fnwmatch): Likewise. Change type of
	local variable collseq to 'const char *'.
	(SUFFIX): Don't use, don't undefine.
	* posix/fnmatch.c: Remove SUFFIX definition.
	* locale/programs/ld-collate.c (struct locale_collate_t): Remove
	fields plane_size, plane_cnt, wcheads, wcseqorder. Rename
	wcheads_3level to wcheads, rename wcseqorder_3level to wcseqorder.
	(collate_finish): Always create new locale format. Remove local
	variables min_total, act_size.
	(collate_output): Always create new locale format. Remove local
	variables table_size, names, tablewc. Rename tablewc_3level to
	tablewc.

2000-08-31  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/ld-collate.c (obstack_int32_grow,
	obstack_int32_grow_fast): New inline functions.
	(output_weightwc, collate_output): Use them where possible.
2000-09-01 19:36:44 +00:00
Ulrich Drepper
417bafec1e Update.
* stdlib/Makefile (headers): Add bits/wchar.h.
	* sysdeps/unix/sysv/linux/i386/bits/wchar.h: New file.
	* sysdeps/generic/bits/wchar.h: New file.
	* sysdeps/generic/stdint.h: Include <bits/wchar.h>.  Use values in this
	file to define WCHAR_MIN and WCHAR_MAX.
	Change UINT*8_MAX and UIN*16_MAX value to type int.
	* wcsmbs/wchar.h: Include <bits/wchar.h>.  Use values in this
	file to define WCHAR_MIN and WCHAR_MAX.
	* sysdeps/alpha/fpu/bits/mathdef.h: Make FP_ILOGB0 and FP_ILOGBNAN
	int values.
	* sysdeps/arm/fpu/bits/mathdef.h: Likewise.
	* sysdeps/generic/bits/mathdef.h: Likewise.
	* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
	* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathdef.h: Likewise.
	* locale/locale.h (struct lconv): Add __ prefix to the new members
	if not C99.
	* sysdeps/generic/inttypes.h: Remove unnecessary imaxabs and
	imaxdiv optimizations.
	* sysdeps/wordsize-32/lldiv.c: Add hack to make alias work.
	* sysdeps/wordsize-64/ldiv.c: Likewise.
	* sysdeps/alpha/fpu/bits/fenv.h: Change type of FE_*_ENV macros to
	const fenv_t*.
	* sysdeps/generic/bits/fenv.h: Likewise.
	* sysdeps/i386/fpu/bits/fenv.h: Likewise.
	* sysdeps/ia64/bits/fenv.h: Likewise.
	* sysdeps/m68k/fpu/bits/fenv.h: Likewise.
	* sysdeps/mips/bits/fenv.h: Likewise.
	* sysdeps/s390/fpu/bits/fenv.h: Likewise.
	* sysdeps/sparc/fpu/bits/fenv.h: Likewise.
	Reported by Joseph S. Myers <jsm28@cam.ac.uk>.

	* catgets/open_catalog.c: Likewise.
2000-09-01 06:39:10 +00:00
Ulrich Drepper
04ea3b0fbb Update.
2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* string/strxfrm.c (strxfrm, wcsxfrm): Include <sys/param.h>.
	If nrules == 0 and srclen < n, copy only srclen + 1 characters.

	* sysdeps/generic/getdomain.c (getdomainname): Include <sys/param.h>.
	If the result is fits in the buffer, copy only as many bytes as needed.

	* sysdeps/generic/_strerror.c (__strerror_r): Don't zero-fill the
	buffer after copying numbuf into it.
	* sysdeps/mach/_strerror.c (__strerror_r): Likewise.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* posix/confstr.c (confstr): When string_len > len, NUL-terminate
	the result.  When string_len < len, don't clear the rest of the buffer.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	Support for new LC_COLLATE format.
	* locale/coll-lookup.h: New file.
	* locale/weightwc.h (findidx): When size == 0, call
	collidx_table_lookup.
	* wcsmbs/wcscoll.c: Include coll-lookup.h.
	* wcsmbs/wcsxfrm.c: Likewise.
	* posix/fnmatch.c: Likewise.
	* posix/fnmatch_loop.c (internal_fnwmatch): When size == 0, call
	collseq_table_lookup.
	* locale/programs/3level.h: New file.
	* locale/programs/ld-ctype.c: (wcwidth_table, wctrans_table): Define
	by including "3level.h".
	* locale/programs/ld-collate.c (wchead_table, collidx_table,
	collseq_table): New types, defined by including "3level.h".
	(locale_collate_t): New wcheads_3level, wcseqorder_3level fields.
	(encoding_mask, encoding_byte): Remove.
	(utf8_encode): Use simple shifts instead.
	(collate_finish): When !oldstyle_tables, set plane_size and plane_cnt
	to 0, and initialize and fill wcheads_3level and wcseqorder_3level.
	(collate_output): New local variable tablewc_3level. When
	!oldstyle_tables, set table_size to 0 and names to NULL and fill
	tablewc_3level instead of tablewc. Change format of TABLEWC and
	COLLSEQWC entries written to the file.
	* locale/C-collate.c (collseqwc): Change format.
	(_nl_C_LC_COLLATE): Set HASH_SIZE and HASH_LAYERS to 0, change format
	of COLLSEQWC.
	* locale/Makefile (distribute): Add coll-lookup.h, programs/3level.h.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/ld-ctype.c (MAX_CHARNAMES_IDX): New macro.
	(locale_ctype_t): New charnames_idx field.
	(ctype_startup): Initialize charnames_idx field.
	(find_idx): Speed up dramatically by using charnames_idx inverse table.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* locale/C-ctype.c: Switch to new locale format.
	(_nl_C_LC_CTYPE_names): Remove array.
	(STRUCT_CTYPE_CLASS): New macro.
	(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
	graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
	New three-level tables.
	(_nl_C_LC_CTYPE_width): Change from array to three-level table.
	(_nl_C_LC_CTYPE): Fix nstrings value. Set HASH_SIZE and HASH_LAYERS
	to 0. Change WIDTH format. Set CLASS_OFFSET and MAP_OFFSET. Add
	12 class tables and 2 map tables at the end.
	* ctype/ctype-info.c (_nl_C_LC_CTYPE_names): Remove declaration.
	(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
	graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
	New declarations.
	(b): Remove trailing semicolon.
	(__ctype_names, __ctype_width): Don't initialize.
	(__ctype32_wctype, __ctype32_wctrans, __ctype32_width): Initialize.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* elf/dl-load.c (open_path): Add a argument telling whether *dirsp
	is guaranteed to be allocated with the same malloc() and may be
	passed to free().
	(_dl_map_object): Update open_path calls. If rtld_search_dirs has
	been set to empty by an earlier open_path call, don't pass it again.
2000-08-29 01:20:23 +00:00
Andreas Jaeger
fb4dfa0c81 Add some pure attributes. 2000-08-23 07:23:46 +00:00
Ulrich Drepper
4aebaa6bd9 Update.
* argp/argp-help.c: Unify use of function aliases to make more compact
	PLT.
	* include/libintl.h: Likewise.
	* inet/rcmd.c: Likewise.
	* intl/dcigettext.c: Likewise.
	* libio/iofputws.c: Likewise.
	* libio/iofputws_u.c: Likewise.
	* libio/iogetwline.c: Likewise.
	* libio/swprintf.c: Likewise.
	* malloc/malloc.c: Likewise.
	* nss/digits_dots.c: Likewise.
	* posix/fnmatch.c: Likewise.
	* posix/spawn_faction_addclose.c: Likewise.
	* posix/spawn_faction_adddup2.c: Likewise.
	* posix/spawn_faction_addopen.c: Likewise.
	* posix/spawni.c: Likewise.
	* posix/wordexp.c: Likewise.
	* posix/spawni.c: Likewise.
	* resolv/res_hconf.c: Likewise.
	* resolv/res_init.c: Likewise.
	* shadow/lckpwdf.c: Likewise.
	* signal/sighold.c: Likewise.
	* signal/sigrelse.c: Likewise.
	* stdio-common/printf-parse.h: Likewise.
	* stdio-common/printf-prs.c: Likewise.
	* stdio-common/printf_fp.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* stdlib/rpmatch.c: Likewise.
	* sunrpc/create_xid.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sysdeps/generic/setrlimit64.c: Likewise.
	* sysdeps/generic/utmp_file.c: Likewise.
	* sysdeps/generic/vlimit.c: Likewise.
	* sysdeps/posix/posix_fallocate.c: Likewise.
	* sysdeps/posix/posix_fallocate64.c: Likewise.
	* sysdeps/posix/sigpause.c: Likewise.
	* sysdeps/posix/sigset.c: Likewise.
	* sysdeps/unix/grantpt.c: Likewise.
	* sysdeps/unix/bsd/ualarm.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* sysdeps/unix/sysv/linux/getloadavg.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
	* sysdeps/unix/sysv/linux/ulimit.c: Likewise.
	* time/strftime.c: Likewise.
	* wcsmbs/wcscoll.c: Likewise.
	* wcsmbs/wcsxfrm.c: Likewise.

	* sysdeps/powerpc/fpu_control.h (_FPU_GETCW): Allow gcc to generate
	postinc/predec instruction.
2000-08-21 04:18:25 +00:00
Ulrich Drepper
91bc38d09c Update.
2000-08-12  Andreas Jaeger  <aj@suse.de>

	* include/features.h (__STDC_ISO_10646__): Define.
	Reported by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.

	* include/features.h (__USE_ISOC99): Define for _XOPEN_SOURCE >= 600.

	* locale/langinfo.h: Define YESSTR and NOSTR also for XPG4 (but not
	for revision 6 and up).

	* posix/sys/types.h: Define __need_timer_t and __need_clockid_t before
	including <time.h>.
	* time/time.h: Allow __need_timer_t and __need_clockid_t to be defined
	to get definitions of just these types.

	* signal/signal.h: Define thread signal handling functions also for
	POSIX95.

	* sysdeps/unix/sysv/linux/bits/types.h: Define thread types also for
	POSIX95.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.

	* sysvipc/sys/shm.h: Define pid_t for XPG.

	* wcsmbs/wchar.h: Make the various wide char string and stream
	functions available for the respective XPG versions.
2000-08-14 04:57:27 +00:00
Ulrich Drepper
476b6d7fa4 Update.
2000-07-26  Ulrich Drepper  <drepper@redhat.com>

	* libio/iofwide.c: Enable transliteration for conversion from wchar_t
	by default.
	* locale/C-ctype.c: Likewise.
	* wcsmbs/wcsmbsload.c: Likewise.
2000-07-26 23:00:05 +00:00
Ulrich Drepper
ef44614405 Update.
2000-07-23  Bruno Haible  <haible@clisp.cons.org>

	* wctype/wchar-lookup.h: New file.
	* wctype/iswctype.c: Include "wchar-lookup.h".
	(__iswctype): Support alternate locale format with 3-level tables.
	* wctype/iswctype_l.c (__iswctype_l): Likewise.
	* wctype/towctrans.c (__towctrans): Likewise.
	* wctype/towctrans_l.c (__towctrans_l): Likewise.
	* wctype/wcfuncs.c: Include "wchar-lookup.h".
	(__ctype32_wctype, __ctype32_wctrans): Declare external.
	(__iswalnum, __iswalpha, __iswcntrl, __iswdigit, __iswlower,
	__iswgraph, __iswprint, __iswpunct, __iswspace, __iswupper,
	__iswxdigit, towlower, towupper): Support alternate locale format
	with 3-level tables.
	* wctype/wcextra.c (iswblank): Likewise.
	* wctype/wcfuncs_l.c: Include "wchar-lookup.h".
	(__iswalnum_l, __iswalpha_l, __iswcntrl_l, __iswdigit_l, __iswlower_l,
	__iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l,
	__iswxdigit_l, __towlower_l, __towupper_l): Support alternate locale
	format with 3-level tables.
	* wctype/wcextra_l.c (__iswblank_l): Likewise.
	* wctype/wctype.c (__wctype): Likewise.  In the alternate locale
	format, return a 3-level table pointer.
	* wctype/wctype_l.c (__wctype_l): Likewise.
	* wctype/wctrans.c (wctrans): Likewise.
	* wctype/wctype.h (__ISwupper, __ISwlower, __ISwalpha, __ISwdigit,
	__ISwxdigit, __ISwspace, __ISwprint, __ISwgraph, __ISwblank,
	__ISwcntrl, __ISwpunct, __ISwalnum): New enum values.
	(iswctype): Remove macro definition.
	* wcsmbs/wcwidth.h: Include "wchar-lookup.h".
	(internal_wcwidth): Support alternate locale format with 3-level
	tables.
	* locale/langinfo.h (_NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET):
	New nl_items.
	* locale/categories.def (_NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET):
	Define them as being type "word".
	* locale/C-ctype.c (_nl_C_LC_CTYPE): Add initializers for them.
	* ctype/ctype-info.c (__ctype32_wctype, __ctype32_wctrans,
	__ctype32_width): New exported variables.
	* locale/lc-ctype.c (_nl_postload_ctype): Initialize them in the
	alternate locale format. Don't initialize __ctype_names and
	__ctype_width in the alternate locale format.
	* locale/programs/localedef.h (oldstyle_tables): New declaration.
	* locale/programs/localedef.c (oldstyle_tables): New variable.
	(OPT_OLDSTYLE): New macro.
	(options): Add --old-style option.
	(parse_opt): Handle --old-style option.
	* locale/programs/ld-ctype.c (locale_ctype_t): Add class_offset,
	map_offset, class_3level, map_3level, width_3level members.
	(ctype_output): Support for alternate locale format: Computation of
	nelems changes. _NL_CTYPE_TOUPPER32, _NL_CTYPE_TOLOWER32 and
	_NL_CTYPE_CLASS32 only 256 characters. _NL_CTYPE_NAMES empty.
	New fields _NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET. Field
	_NL_CTYPE_WIDTH now contains the three-level table. Extra elems
	now contain both class and map tables.
	(struct wctype_table): New type.
	(wctype_table_init, wctype_table_add, wctype_table_finalize): New
	functions.
	(struct wcwidth_table): New type.
	(wcwidth_table_init, wcwidth_table_add, wcwidth_table_finalize): New
	functions.
	(struct wctrans_table): New type.
	(wctrans_table_init, wctrans_table_add, wctrans_table_finalize): New
	functions.
	(allocate_arrays): Support for alternate locale format: Set
	plane_size and plane_cnt to 0. Restrict ctype->ctype32_b to the first
	256 characters. Compute ctype->class_3level. Restrict ctype->map32[idx]
	to the first 256 characters. Compute ctype->map_3level. Set
	ctype->class_offset and ctype->map_offset. Compute ctype->width_3level
	instead of ctype->width.
2000-07-25 04:37:22 +00:00
Ulrich Drepper
0d655550de Update.
2000-07-12  H.J. Lu  <hjl@gnu.org>

	* resolv/Versions (libresolv): Add __res_hostalias to GLIBC_2.2
	for _nss_dns_gethostbyname2_r in resolv/nss_dns/dns-host.c.

2000-07-12  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Shut gcc up although
	it is wrong.
2000-07-12 20:39:58 +00:00
Ulrich Drepper
f1f1b6b95a Update.
* wcsmbs/mbrtowc.c: Set flush to 1 for conversion function calls
	depending on whether the input string is empty or not.

	* wcsmbs/mbrtowc.c: Calling function without input means clearing the
	given state and not avoiding this by modifying a local object.
	* wcsmbs/wcrtomb.c: Likewise.

	* iconv/skeleton.c: If no EMIT_SHIFT_TO_INIT is defined clear state
	object since some incomplete characters might be in there.
2000-06-28 21:46:28 +00:00
Ulrich Drepper
0e16ecfa1e Update.
* locale/programs/ld-ctype.c (ctype_finish): Take all characters from
	the input charset into account when generating the hash table.
	(allocate_arrays): Correct setting default width.  Not all empty slots
	in the table are filled, only those not covert explicitly by the
	locale description and in the charset.

	* stdio-common/vfscanf.c: Make sure to always return WEOF and EOF for
	wide character version.
	For %C handling, test correct pointer variable for NULL.

	* wcsmbs/wctob.c: Handle WEOF special.

	* wcsmbs/wcwidth.h: 0xff in width array means invalid character.

	* wctype/wctype.h: Protect gcc-isms with __extension__.  Avoid
	always-true test to avoid warning.
2000-06-28 04:27:24 +00:00
Ulrich Drepper
d620426811 Update.
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.
2000-06-19 21:12:06 +00:00
Ulrich Drepper
323fb88dac Update.
2000-06-16  Ulrich Drepper  <drepper@redhat.com>

	* iconv/gconv_int.h (norm_add_slashes): Optionally add given suffix.
	* iconv/gconv_open.c: Remove error handling specification from `from'
	character set name.
	* intl/loadmsgcat.c (_nl_load_domain): Call norm_add_slashes with
	new parameter to always enable transliteration.
	* locale/localeinfo.h (LIMAGIC): Bump number because of incompatible
	change.
	(struct locale_data): Add new members use_translit and options.
	* locale/findlocale.c (_nl_find_locale): Set use_translit flag is
	character set name contained modifier TRANSLIT.
	* locale/loadlocale.c (_nl_load_locale): Initialize new use_translit
	and options fields.
	(_nl_unload_locale): Free options string if necessary.
	* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Enable translation if
	the locale names suggested this.
	* locale/C-address.c: Add two new initialilzers to adjust data
	structure for new format.
	* locale/C-collate.c: Likewise.
	* locale/C-ctype.c: Likewise.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-messages.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-time.c: Likewise.

	* locale/setlocale.c: Add some more __builtin_expect.
2000-06-16 23:04:41 +00:00
Ulrich Drepper
f1d5c60dde Update.
2000-06-15  Ulrich Drepper  <drepper@redhat.com>

	* iconv/gconv.h (__gconv_fct): Change type of fifth parameter to
	unsigned char **.
	(__gconv_init_fct): Remove two parameters.
	* iconv/gconv_int.h (__gconv_transliterate): Renamed from
	gconv_transliterate.  Remove two parameters.
	Change prototypes of builtin functions according to __gconv_fct change.
	* iconv/skeleton.c: Change type of fifth parameter.  make sure it is
	!= NULL only during error handling.  Stop in this case after the
	conversion.
	* iconv/gconv_trans.c: Replace with real implementation for
	__gconv_transliterate.
	* iconv/gconv_open.c: Adjust for renaming of __gconv_transliterate.
	* iconv/gconv.c: Change calls to downstream functions once again.
	Use NULL for the fifth parameter instead of pointer to output buffer.
	* libio/iofwide.c: Likewise.
	* 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.
	* iconv/gconv_simple.c: Remove two parameters from error handling
	function call.
	* 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.
2000-06-16 00:39:38 +00:00
Ulrich Drepper
ff048a13e5 Update.
* libio/iofwide.c (_IO_fwide): Initialize transliteration part of
	step data structure.
	* 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.
2000-06-13 02:55:54 +00:00
Ulrich Drepper
55985355ad Update.
2000-06-12  Ulrich Drepper  <drepper@redhat.com>

	* Rules (%.out): Define GCONV_PATH in the environment.
	* assert/Depend: New file.
	* iconvdata/Depend: New file.
	* intl/Depend: New file.
	* timezone/Makefile (build-testdata): Add GCONV_PATH to environment.
	* intl/tst-gettext.sh: Likewise.
	* iconv/Makefile (routines): Add gconv_trans.
	* iconv/gconv_trans.c: New file.
	* iconv/gconv.h (struct __gconv_trans_data): New type.
	(__gconv_fct): New parameter with starting position in output buffer.
	(__gconv_trans_fct, __gconv_trans_context_fct, __gconv_trans_query_fct,
	__gconv_trans_init_fct, __gconv_trans_end_fct): New types.
	(struct __gconv_step): Add new member __trans.
	* iconv/gconv_int.h: Pretty print prototypes.
	(gconv_transliterate): New prototype.
	(__BUILTIN_TRANS): Update for new conversion function interface.
	* iconv/gconv.c (__gconv): Pass new parameter to conversion function.
	* iconv/gconv_open.c (__gconv_open): Recognize error handling suffix
	in names, find appropriate function, and install in the conversion
	steps it can be used.
	* iconv/skeleton.c: Add additional parameter for beginning of output
	buffer.  Change calls of downstream functions.
	* iconv/loop.c: Change loop function interface completely.  Pass in
	step and step_data structure.  Remove optimization for BODY with
	NEED_LENGTH_TEST == 0.
	* iconv/gconv_simple.c: Update interfaces of functions.  Insert
	appropriate error handling code to use transliteration steps.  Remove
	optimization for BODY with NEED_LENGTH_TEST == 0.
	* 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: Adjust to new interface of gconv functions.  Use
	DL_CALL_FCT.
	* 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.
2000-06-12 19:47:50 +00:00
Ulrich Drepper
85830c4c46 Update.
* iconv/gconv.h (__GCONV_IS_LAST, __GCONV_IGNORE_ERRORS): Define.
	(struct __gconv_step_data): Rename __is_last to __flags.
	* iconv/gconv_close.c: Change all uses of __is_last.
	* iconv/skeleton.c: Likewise.
	* iconvdata/iso-2022-cn.c: Likewise.
	* iconvdata/iso-2022-jp.c: Likewise.
	* iconvdata/iso-2022-kr.c: Likewise.
	* iconv/gconv_open.c: Likewise.  Avoid unneeded initializations.
	Recognize IGNORE error handling, set flag, and remove from name.
	* iconv/loop.c (ignore_errors_p): Define.
	Add flags parameter to both functions.
	* iconv/skeleton.c: Pass flags to all conversion functions.
	* iconv/gconv_simple.c: Add flags parameter to all functions.
	Don't return error for invald error if ignore flag is set.
	(ucs4_internal_loop_single): Add missing pointer increment.
	(internal_ucs4le_loop_single): Likewise.
	* iconv/iconv_prog.c: Implement handling of -c parameter.
	* iconvdata/8bit-gap.c: Don't return error for invald error if
	ignore flag is set.
	* 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/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/fileops.c: Likewise.
	* libio/iofwide.c: Likewise.
	* 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/ksc5601.h (ksc5601_to_ucs4): Undo *s change in all cases of
2000-06-06 03:16:30 +00:00
Ulrich Drepper
61d655c1cb Update.
2000-06-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/elf/setjmp.S: Work around change is recent
	binutils.  gas now emits a jump through the PLT instead of a
	relative jump if the jump target is an exported symbol.
2000-06-01 07:14:15 +00:00
Ulrich Drepper
17c389fc2b Update.
* libio/stdio.h: Make fseeko and ftello prototypes available is
	__USE_LARGEFILE.  Patch by Paul Eggert <eggert@twinsun.com>.

	* sysdeps/generic/dl-environ.c (unsetenv): Follow change to the
	real unsetenv implementation from 1999-07-29 [PR libc/1714].

2000-05-03  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (dcigettext): Do the defaulting of 'domainname'
	before calling tfind.

2000-03-05  Jakub Jelinek  <jakub@redhat.com>

	* resolv/resolv.h (res_querydomain): Remove redefinition to
	__res_querydomain (reported by Owen Taylor <otaylor@redhat.com>).

2000-05-03  Ulrich Drepper  <drepper@redhat.com>

	* po/gl.po: Update from translation team.

	* manual/intro.texi (Program Basics): Change section title.
	* manual/process.texi: Fix reference.
	(Executing a File): Add reference exec in other section.
	* manual/signal.texi: Fix reference.
	* manual/startup.texi: Document syscall function.
	Patches by Bryan Henderson <bryanh@giraffe-data.com>.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/libintl.h (bind_textdomain_codeset): New declaration.
	* intl/bindtextdom.c (set_binding_values): New function.
	(bindtextdomain): Call it.
	(bind_textdomain_codeset): New function.
	* intl/dcigettext.c (dcigettext): Pass binding to _nl_find_domain.
	(free_mem): Free each binding's codeset.
	* intl/gettextP.h (struct binding): Add codeset field.
	(_nl_find_domain): Add domainbinding argument.
	* intl/finddomain.c (_nl_find_domain): Add domainbinding argument.
	Pass it to _nl_make_l10nflist.
	* intl/loadinfo.h (struct loaded_l10nfile): Add domainbinding field.
	(_nl_make_l10nflist): Add domainbinding argument.
	* intl/l10nflist.c (_nl_make_l10nflist): Add domainbinding argument.
	* intl/loadmsgcat.c (_nl_load_domain): Look at the domainbinding's
	codeset when determining outcharset. If !_LIBC && HAVE_ICONV, call
	locale_charset().
	* manual/message.texi: New node "Charset conversion in gettext".

2000-04-30  Bruno Haible  <haible@clisp.cons.org>

	* catgets/open_catalog.c (__open_catalog): Use __builtin_expect where
	appropriate.  Handle possible __read error.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/gettextP.h (__builtin_expect): Define as empty if not a
	compiler builtin.
	* intl/loadinfo.h (__builtin_expect): Likewise.
	* intl/dcigettext.c (dcigettext, _nl_find_msg): Use
	__builtin_expect where appropriate.
	* intl/loadmsgcat.c (_nl_load_domain): Likewise.
	* intl/localealias.c (extend_alias_table): Return an error indicator.
	(read_alias_file): Bail out if extend_alias_table fails.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/loadmsgcat.c: Define _GNU_SOURCE as early as possible.
	* intl/localealias.c: Likewise.

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

	* intl/loadmsgcat.c (_nl_load_domain): Initialize domain->conv_tab.
	Initialize domain->plural and domain->nplurals even if there is no
	nullentry.

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

	* intl/dcigettext.c (_nl_find_msg): Terminate __gconv loop if return
	value is == __GCONV_OK or == __GCONV_EMPTY_INPUT, not != __GCONV_OK.
	In case of failure, goto converted.

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

	* wcsmbs/wcsmbsload.c (norm_add_slashes): Move away.
	* iconv/gconv_int.h (norm_add_slashes): Move to here.
	* intl/loadmsgcat.c (_nl_load_domain): Normalize strings passed to
	__gconv_open.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (transcmp): Compare the domains as well.
	(dcigettext): Call strlen (msgid1) after testing msgid1 against NULL,
	not before.
	* intl/loadmsgcat.c (_nl_load_domain): Deal with EINTR. Include
	<errno.h>.

2000-05-03  Ulrich Drepper  <drepper@redhat.com>
2000-05-04 02:46:54 +00:00
Ulrich Drepper
515ab778a7 (__mbrtowc): Set end of buffer correctly if s == NULL. 2000-04-29 07:00:59 +00:00
Ulrich Drepper
a7f91846e9 Update.
* wcsmbs/wcrtomb.c (__wcrtomb): Set end of buffer correctly if s
	== NULL.  Little optimization.

	* elf/dl-init.c (_dl_init): Correct typo (DT_PREINIT_ARRAY not
	DT_PREINIT_ARRAYSZ).
	Reported by Jes Sorensen <Jes.Sorensen@cern.ch>.
2000-04-28 06:14:43 +00:00
Ulrich Drepper
1da6cab218 Update.
* wcsmbs/mbsnrtowcs.c: Correctly compute number of converted
	characters.  Don't handle incomplete characters as errors.
	* wcsmbs/mbsrtowcs.c: Don't handle incomplete characters as errors.
	* localedata/Makefile (test-srcs): Add tst-mbswcs2.
	Add rule to build tst-mbswcs2 before running tst-mbswcs.sh.
	* localedata/tst-mbswcs.sh: Run tst-mbswcs2.
	* localedata/tst-mbswcs2.c: New file.
2000-04-27 06:47:02 +00:00
Ulrich Drepper
376b8b3de9 Update.
* wcsmbs/wcsrtombs.c (__wcsrtombs): If output buffer is too small
	don't search for NUL byte to decrement counter.
	Reported by Ulrich.Brink@sap.com.
2000-04-21 06:58:22 +00:00
Ulrich Drepper
fd1b5c0fb6 Update.
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.
2000-04-09 17:43:29 +00:00
Ulrich Drepper
b837918ee1 Update.
* stdio-common/printf-parse.h: Likewise.
2000-04-07 16:45:34 +00:00
Ulrich Drepper
aa831d6dab Update.
2000-04-07  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/wchar.h (__mbstate_t): Rename elements.  Make __value
	element a union to allow byte access.
	* iconvdata/iso-2022-cn.c: Adjust for change of element name in
	mbstate_t.
	* iconvdata/iso-2022-jp.c: Likewise.
	* iconvdata/iso-2022-kr.c: Likewise.
2000-04-07 07:40:43 +00:00
Ulrich Drepper
a1303dc8dc Update.
2000-04-05  Cristian Gafton  <gafton@redhat.com>

	* ctype/ctype.h (__isctype_l): Define even if not __OPTIMIZE__
	because it is used in generic code.
	* wctype/wctrans.c: Define __ctype32_toupper and __ctype32_tolower.
	* wcsmbs/wcwidth.h: Declare __ctype32_b.
	* intl/gettext.c: Include <locale.h>.
	* intl/ngettext.c: Likewise.

2000-04-05  Jakub Jelinek  <jakub@redhat.com>

	* resolv/inet_ntop.c (inet_ntop4, inet_ntop6, inet_ntop): Use
	socklen_t type for size.
	* sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Rewrite for new
	init function interface.
	* sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Don't include
	sys/ucontext.h.
	(__jmp_buf): Declare the whole type structure here, don't use
	ucontext.

	* iconv/skeleton.c (put16u): Fix typo.
	Reported by Bruno Haible <haible@ilog.fr>.
2000-04-06 05:04:50 +00:00
Ulrich Drepper
4e2e99997a Update.
* libio/fileops.c (_IO_new_file_open): Recognize ,ccs= in mode string
	and load appropriate conversions.
	* libio/iofwide.c (__libio_codecvt): Renamed from libio_codecvt and
	made global.
	* libio/libioP.h: Declare __libio_codecvt.
	* manual/stdio.texi: Document ,ccs= option for fopen.
	* wcsmbs/wcsmbsload.c (__wcsmbs_named_conv): New function.
	* wcsmbs/wcsmbsload.h (__wcsmbs_named_conv): Declare.

	* libio/iofclose.c: Free conversion data if stream was wide-oriented.

	* sysdeps/unix/sysv/linux/i386/Dist: Add sys/io.h.
2000-01-26 06:55:29 +00:00
Ulrich Drepper
6a07e1f8df Update.
* wcsmbs/mbrtowc.c: Create temporary state object if no output is
	written.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.

	* wcsmbs/wcrtomb.c: Compute result correctly for successful call
	with s == NULL.
2000-01-19 07:29:43 +00:00
Ulrich Drepper
a5334a6807 Update.
* wcsmbs/mbsrtowcs.c: Compute return value correctly after change
	in gconv function.
2000-01-19 06:49:51 +00:00
Ulrich Drepper
1f547466cf Update.
* wcsmbs/mbrtowc.c: Don't set errno if byte sequence is only
	incomplete but correct.

	* locale/programs/charmap.c: NUL-terminate names of generated
2000-01-19 06:06:01 +00:00
Ulrich Drepper
83d660c76f Update.
1999-12-30  Ulrich Drepper  <drepper@cygnus.com>

	* wcsmbs/wcscoll.c: Use multibyte character version.
	* wcsmbs/wcsxfrm.c: Likewise.
	* string/strcoll.c: Prepare to be used for the wide character version.
	* string/strxfrm.c: Likewise.
	* locale/weightwc.h: New file.
1999-12-31 00:04:07 +00:00
Ulrich Drepper
5358d026c7 Update.
* locale/programs/ld-collate.c (read_directions): Fix a few messages.
	(collate_finish): Test that position is used in all sections for
	a level or in none.

	* string/strxfrm.c: Optimize a bit.  We don't need the highest bit
	of the index returned by findidx.

	* string/strcoll.c: Complete rewrite for new collate implementation.
	* wcsmbs/wcscoll.c: Don't use strcoll.c, implement dummy implementation
	locally.
1999-12-26 07:29:11 +00:00
Ulrich Drepper
450bf66ef2 Update.
1999-12-25  Ulrich Drepper  <drepper@cygnus.com>

	* locale/C-collate.c (_nl_C_LC_COLLATE): Add one more entry for the
	indirect table.
	* locale/langinfo.h: Likewise.
	* locale/categories.def: Likewise.  Remove reference to postload
	functions.
	* locale/lc-collate.c (_nl_postload_collate): Removed.  Also remove
	__collate_tablemb, __collate_weightmb, and __collate_extramb.
	* locale/localeinfo.h: Remove declaration for removed variables above.
	Remove prototype for _nl_get_era_entry.
	* locale/weight.h: Complete rewrite for new collate implementation.
	* locale/programs/ld-collate.c: Many changes to make output file
	usable in strxfrm/strcoll.
	* string/strxfrm.c: Complete rewrite for new collate implementation.
	* wcsmbs/wcsxfrm.c: Don't use strxfrm.c, implement dummy implementation
	locally.

1999-12-25  Shinya Hanataka  <hanataka@abyss.rim.or.jp>

	* locale/programs/ld-ctype.c (allocate_arrays): Correctly assign
	transformation values for chars >255.
	* wctype/wctrans.c: Return pointer unmodified.
1999-12-25 23:41:39 +00:00
Ulrich Drepper
e46309e103 Update.
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Don't use the charset
	name from the locale name.  Only use the value in the LC_CTYPE
	locale data file.
1999-11-23 06:01:02 +00:00