Commit Graph

12 Commits

Author SHA1 Message Date
Ulrich Drepper
2528edd317 Update.
* iconvdata/euc-jp.c: Map characters in C1 area to itself.
	* iconvdata/euc-kr.c: Likewise.
2000-07-07 06:41:18 +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
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
38677aced0 Update.
* iconv/skeleton.c:  Rename converted written to correcter name
	irreversible.
	* iconv/gconv.c: Rename converted variable to correcter name
	irreversible.
	* iconv/gconv_int.h: Likewise.
	* iconv/gconv_simple.c: Likewise.
	* iconv/iconv.c: Likewise.
	* iconv/loop.c: Likewise.
	* 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/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-10 22:54:47 +00:00
Ulrich Drepper
89301d683e Update.
2000-06-06  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/iso-2022-kr.c: Add __builtin_expect in many places.
	* iconvdata/iso-2022-jp.c: Likewise.
	* iconvdata/iso-2022-cn.c: Likewise.
	* iconvdata/gbgbk.c: Likewise.
	* iconvdata/gbk.c: Likewise.
	* iconvdata/euc-kr.c: Likewise.
	* iconvdata/euc-jp.c: Likewise.
	* iconvdata/euc-cn.c: Likewise.
2000-06-06 16:53:06 +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
77e1d15a1a Update.
2000-03-28  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/TESTS: Use UCS-2BE instead of UCS2.

	* iconv/loop.c: Define get16, get32, put16, and put32 macros to
	allow as well reading from/writing to unaligned addresses on machines
	which don't support this in hardware.  Use FCTNAME macro to define
	function name.  Include the file a second time for platforms which
	need special unaligned handling.
	* iconv/skeleton.c: Define get16u, get32u, put16u, and put32u macros
	to access potentially unaligned addresses.  These macros are intended
	to be used only outside the loops.
	(unaligned): New definition.  In case the machine can handle unaligned
	access define as zero.  Otherwise as a variable which is initialized
	as nonzero in case the buffer passed in at runtime is unaligned with
	respect to the character set encoding involved.
	Call aligned or unaligned looop functions according to unaligned
	variable.
	* iconvdata/8bit-gap.c: Use get16, get32, put16, and put32 instead
	of direct casting pointer to potentially handle unaligned memory
	accesses.
	* iconvdata/8bit-generic.c: Likewise.
	* iconvdata/ansi_x3.110.c: Likewise.
	* iconvdata/big5.c: Likewise.
	* iconvdata/euc-cn.c: Likewise.
	* iconvdata/euc-jp.c: Likewise.
	* iconvdata/euc-kr.c: Likewise.
	* iconvdata/euc-tw.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/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.

	* locale/programs/simple-hash.c: Little optimizations.  Remove K&R
	prototypes.

	* malloc/Versions [libc] (GLIBC_2.2): Add mcheck_check_all.
	* malloc/mcheck.c (mcheck_check_all): Renamed from check_all and made
	public.
	* malloc/mcheck.h (mcheck_check_all): Declare.

	* stdio-common/Makefile (tests): Add tst-obprintf.
2000-03-28 17:33:37 +00:00
Ulrich Drepper
788e8e7c22 Update.
1999-07-25  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/euc-kr.c (euckr_from_ucs4): Set cp[0] to '\0' in case
	of an error.  Patch by Changwoo Ryu <cwryu@debian.org>.
1999-07-25 15:03:25 +00:00
Ulrich Drepper
d64b6ad075 Update.
* Versions.def: Add GLIBC_2.2 for libc.

	* iconv/gconv.h: Make header suitable for inclusion in public header
	by protecting all names with __.
	* iconv/gconv.c: Adapt for symbol name changes.
	* iconv/gconv.h: Likewise.
	* iconv/gconv_builtin.c: Likewise.
	* iconv/gconv_close.c: Likewise.
	* iconv/gconv_db.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* iconv/gconv_int.h: Likewise.
	* iconv/gconv_open.c: Likewise.
	* iconv/gconv_simple.c: Likewise.
	* iconv/iconv.c: Likewise.
	* iconv/iconv_close.c: Likewise.
	* iconv/iconv_open.c: Likewise.
	* iconv/loop.c: Likewise.
	* iconv/skeleton.c: Likewise.
	* iconvdata/8bit-gap.c: Likewise.
	* iconvdata/8bit-generic.c: Likewise.
	* iconvdata/ansi_x3.110.c: Likewise.
	* iconvdata/big5.c: Likewise.
	* iconvdata/cns11643.h: Likewise.
	* iconvdata/cns11643l1.h: Likewise.
	* iconvdata/euc-cn.c: Likewise.
	* iconvdata/euc-jp.c: Likewise.
	* iconvdata/euc-kr.c: Likewise.
	* iconvdata/euc-tw.c: Likewise.
	* iconvdata/gb2312.h: 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/jis0201.h: Likewise.
	* iconvdata/jis0208.h: Likewise.
	* iconvdata/jis0212.h: Likewise.
	* iconvdata/johab.c: Likewise.
	* iconvdata/ksc5601.h: Likewise.
	* iconvdata/sjis.c: Likewise.
	* iconvdata/t.61.c: Likewise.
	* iconvdata/uhc.c: Likewise.
	* stdlib/mblen.c: Likewise.
	* stdlib/mbtowc.c: Likewise.
	* stdlib/wctomb.c: Likewise.
	* wcsmbs/btowc.c: Likewise.
	* wcsmbs/mbrtowc.c: Likewise.
	* wcsmbs/mbsnrtowcs.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsmbsload.c: Likewise.
	* wcsmbs/wcsmbsload.h: Likewise.
	* wcsmbs/wcsnrtombs.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.
	* wcsmbs/wctob.c: Likewise.

	* include/limits.h (MB_LEN_MAX): Increase to 16.

	* sysdeps/generic/_G_config.h: Define _G_fpos_t as struct.  Define
	_G_iconv_t.
	* sysdeps/unix/sysv/linux/_G_config.h: Likewise.
	* include/wchar.h: Change mbstate_t to __mbstate_t.

	* libio/Makefile (routines): Add wfiledoalloc, oldiofgetpos,
	oldiofgetpos64, oldiofsetpos, oldiofsetpos64, fputwc, fputwc_u,
	getwc, getwc_u, getwchar, getwchar_u, iofgetws, iofgetws_u,
	iofputws, iofputws_u, iogetwline, iowpadn, ioungetwc, putwc, putwc_u,
	putchar, putchar_u, swprintf, vwprintf, wprintf, wscanf, fwscanf,
	vwscanf, vswprintf, iovswscanf, swscanf, wgenops, wstrops, wfileops,
	and iofwide.
	(tests): Add tst_swprintf, tst_wprintf, tst_swscanf, and tst_wscanf.
	* libio/Versions: Add _IO_fgetpos, _IO_fgetpos64, _IO_fsetpos,
	_IO_fsetpos64, fgetpos, fgetpos64, fgetwc, fgetwc_unlocked, fgetws,
	fgetws_unlocked, fputwc, fputwc_unlocked, fputws, fputws_unlocked,
	fsetpos, fsetpos64, fwide, fwprintf, fwscanf, getwc, getwc_unlocked,
	getwchar, getwchar_unlocked, putwc, putwc_unlocked, putwchar,
	putwchar_unlocked, swprintf, swscanf, ungetwc, vfwprintf, vswprintf,
	vwprintf, vfwscanf, vswscanf, vwscanf, wprintf, and wscanf to
	GLIBC_2.2 for libc.
	* libio/libio.h: Define codecvt struct.  Define _IO_wide_data.
	Extend _IO_file contain pointer to codecvt, widedata and mode.
	(_IO_getwc_unlocked): New macro.
	(_IO_putwc_unlocked): New macro.
	(_IO_fwide): New macro.
	* libio/libioP.h: Add new prototypes and adjust existing declarations.
	* libio/fileops.c (_IO_new_file_close_it): Reset normal or widedata
	buffers based on mode.
	(new_do_write): Set _IO_write_end to _IO_buf_end if stream is wide
	oriented.
	(_IO_new_file_overflow): Don't depend only on _IO_CURRENTLY_PUTTING
	flag to be enough to signal unallocated buffer.  For wide oriented
	stream don't make it linebuffered.  Don't use _IO_do_flush, use
	_IO_new_do_write directly.
	(_IO_new_file_seekoff): Change return value type to _IO_off64_t.
	(_IO_file_seek): Likewise.
	* libio/genops.c (_IO_least_marker): Make global.
	(__underflow): Orient stream if not already done.
	(__uflow): Likewise.
	(_IO_default_seekpos): Change to type _IO_off64_t.
	(_IO_default_seekoff): Likewise.
	(_IO_default_seek): Likewise.
	(_IO_no_init): New function.  Similar to _IO_init but allows to orient
	in initialization.
	* libio/iolibio.h: Add prototype for _IO_vswprintf.  Change _IO_pos_BAD
	to use _IO_off64_t.
	* libio/ftello.c: Use _IO_off_t.  For now abort when use with wide
	char stream.
	* libio/ftello64.c: Likewise.
	* libio/ioftell.c: Likewise.
	* libio/iofopncook.c: Likewise.
	* libio/ioseekoff.c: Likewise.
	* libio/ioseekpos.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/iofgetpos.c: Store state of conversion if necessary.
	* libio/iofgetpos64.c: Likewise.
	* libio/iofsetpos.c: Restore conversion state if necessary.
	* libio/iofsetpos64.c: Likewise.
	* libio/iofdopen.c: Initialize so that stream can be wide oriented.
	* libio/iofopen.c: Likewise.
	* libio/iofopen64.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/iovdprintf.c: Likewise.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.
	* libio/memstream.c: Likewise.
	* libio/obprintf.c: Likewise.
	* libio/iofputs.c: Orient stream if not already happened.
	* libio/iofputs_u.c: Likewise.
	* libio/iofwrite.c: Likewise.
	* libio/iofwrite_u.c: Likewise.
	* libio/ioputs.c: Likewise.
	* libio/iosetbuffer.c: Handle not yet oriented stream.
	* libio/iosetvbuf.c: Likewise.
	* libio/oldstdfiles.c: Adjust FILEBUF_LITERAL call.
	* libio/stdfiles.c: Likewise.
	* libio/strops.c (_IO_str_overflow): Correctly free buffer after
	failed allocation.
	(_IO_str_seekoff): Use _IO_off64_t.
	* libio/vasprintf.c: Pre-orient stream.
	* libio/vsnprintf.c: Likewise.
	* libio/fputwc.c: New file.
	* libio/fputwc_u.c: New file.
	* libio/fwprintf.c: New file.
	* libio/fwscanf.c: New file.
	* libio/getwc.c: New file.
	* libio/getwc_u.c: New file.
	* libio/getwchar.c: New file.
	* libio/getwchar_u.c: New file.
	* libio/iofgetws.c: New file.
	* libio/iofgetws_u.c: New file.
	* libio/iofputws.c: New file.
	* libio/iofputws_u.c: New file.
	* libio/iofwide.c: New file.
	* libio/iogetwline.c: New file.
	* libio/ioungetwc.c: New file.
	* libio/iovswscanf.c: New file.
	* libio/iowpadn.c: New file.
	* libio/oldiofgetpos.c: New file.
	* libio/oldiofgetpos64.c: New file.
	* libio/oldiofsetpos.c: New file.
	* libio/oldiofsetpos64.c: New file.
	* libio/putwc.c: New file.
	* libio/putwc_u.c: New file.
	* libio/putwchar.c: New file.
	* libio/putwchar_u.c: New file.
	* libio/swprintf.c: New file.
	* libio/swscanf.c: New file.
	* libio/tst_swprintf.c: New file.
	* libio/tst_swscanf.c: New file.
	* libio/tst_wprintf.c: New file.
	* libio/tst_wscanf.c: New file.
	* libio/tst_wscanf.input: New file.
	* libio/vswprintf.c: New file.
	* libio/vwprintf.c: New file.
	* libio/vwscanf.c: New file.
	* libio/wfiledoalloc.c: New file.
	* libio/wfileops.c: New file.
	* libio/wgenops.c: New file.
	* libio/wprintf.c: New file.
	* libio/wscanf.c: New file.
	* libio/wstrops.c: New file.
	* stdio-common/Makefile (routines): Add _itowa, itowa-digits,
	vfwprintf, and vfwscanf.
	* stdio-common/_itoa.c (base_table): Rename to _IO_base_table and
	make global.
	* stdio-common/_itowa.c: New file.
	* stdio-common/_itowa.h: New file.
	* stdio-common/itoa-digits.c: Minimal optimization.
	* stdio-common/itowa-digits.c: New file.
	* stdio-common/printf-parse.h: Allow use in wide character context.
	* stdio-common/printf-prs.c: Define ISASCII and MBRLEN.
	* stdio-common/printf.h (printf_info): Add wide bit.
	* stdio-common/printf_fp.c: Determine from wide bit whether stream
	is wide oriented or not.
	* stdio-common/printf_size.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* stdlib/strfmon.c: Call __printf_fp with wide bit cleared.
	* stdio-common/vfprintf.c: Rewrite to allow use in wide character
	context.
	* stdio-common/vfscand.c: Likewise.
	* stdio-common/vfwprintf.c: New file.
	* stdio-common/vfwscanf.c: New file.

	* time/Makefile (routines): Add wcsftime.
	(tests): Add tst_wcsftime.
	* time/Versions: Add wcsftime to GLIBC_2.2 for libc.
	* time/strftime.c: Make usable as wcsftime.
	* time/wcsftime.c: New file.
	* time/tst_wcsftime.c: New file.

	* wcsmbs/Makefile (routines): Add wmempcpy and wcschrnul.
	* wcsmbs/Versions: Add wmempcpy and wcschrnul to GLIBC_2.2 for libc.
	* wcsmbs/wcschrnul.c: New file.
	* wcsmbs/wmemcpy.c: New file.
	* wcsmbs/wmemcpy.c: Rename to __wmemcpy and make wmemcpy weak alias.
	* wcsmbs/wmemmove.c: Likewise for wmemmove.

	* manual/stdio.texi: Document is_char and wide element if printf_info.

	* manual/time.texi: Document wcsftime.

	* include/wchar.h: Add prototypes for __wmemcpy, __wmempcpy,
	__wmemmove, __wcschrnul, and __vfwscanf.

	* locale/langinfo.h: Add new LC_TIME entries for wchar_t data.
	* locale/C-time.c: Adapt for above change.
	* locale/categories.def: Likewise.
	* locale/localeinfo.h: Likewise.
	* localedata/Makefile: Don't run tests for now.
1999-06-16 22:55:47 +00:00
Ulrich Drepper
118bad87bd Update.
1998-12-31  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/Makefile: Use rpath $ORIGIN for modules which use any of
	the conversion libraries.

	* include/features.h: Mention latest extensions in _POSIX_C_SOURCE
	description.

	* libio/genops.c (list_all_lock): New variable.
	(_IO_un_link, _IO_link_in): Acquire lock before modifying _IO_list_all.
	[PR libc/911].

	* sysdeps/i386/i686/strtok.s: Add missing cld.

	* sysdeps/i386/i686/mempcpy.S: New file.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	Suppress parentheses warnings:
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
	(DL_FIND_ARG_COMPONENTS): here,
	* sysdeps/powerpc/dl-machine.c: here,
	* sysdeps/powerpc/fclrexcpt.c (feclearexcept): here,
	* sysdeps/powerpc/fesetround.c (fesetround): here,
	* sysdeps/powerpc/feupdateenv.c (feupdateenv): here,
	* sysdeps/powerpc/fraiseexcpt.c (feraiseexcept): here,
	* sysdeps/powerpc/fsetexcptflg.c (fesetexceptflag): here,
	* sysdeps/powerpc/s_rint.c (__rint): here,
	* sysdeps/powerpc/s_rintf.c (__rintf): here,
	* sysdeps/powerpc/w_sqrt.c (__sqrt): here,
	* sysdeps/powerpc/w_sqrtf.c (__sqrtf): and here.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	* wcsmbs/wcstold.c [__NO_LONG_DOUBLE_MATH]: Include wchar.h.
	* wcsmbs/wcstold_l.c [__NO_LONG_DOUBLE_MATH]: Likewise.  Also define
	appropropriate prototypes, correct procedure names.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/generic/crypt-entry.c: Prototype __crypt_r, suppress
	warning.
	(__crypt_r): Add __restrict.
	* sysdeps/generic/crypt.h: Remove internal routine.  Add __restrict.

1998-12-31  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/longlong.h: Add missing #else in SPARC definitions.

1998-12-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	Patches by Ralf Baechle <ralf@gnu.org>:
	* sysdeps/unix/sysv/linux/mips/sgidefs.h: Removed.
	* sysdeps/unix/sysv/linux/mips/sys/asm.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/sys/regdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/sys/fpregdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/regdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/fpregdef.h: Removed.

	* sysdeps/unix/sysv/linux/mips/Makefile: Remove delete files.
	* sysdeps/unix/sysv/linux/mips/Dist: Remove deleted files.

	* sysdeps/mips/sys/fpregdef.h: New files, enhanced versions of deleted
	linux specific files.
	* sysdeps/mips/sys/asm.h: Likewise.
	* sysdeps/mips/sgidefs.h: Likewise.
	* sysdeps/mips/fpregdef.h: Likewise.
	* sysdeps/mips/regdef.h: Likewise.

	* sysdeps/mips/Makefile: Add new headers.
	* sysdeps/mips/Dist: Add new files.

	* sysdeps/mips/fpu_control.h (_FPU_DEFAULT): Change value.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconvdata/Makefile: Remove variable assignments and rules that
	are now auto-generated.  Include $(objpfx)iconv-rules instead.
	Btw, that removes a few typos.
	(charmaps): New variable.
	($(objpfx)iconv-rules): New target.
	(gen-8bit-modules): Renamed from sed-generated-headers, remove .h
	suffixes.
	(gen-8bit-gap-modules): Renamed from awk-generated-headers, remove
	.h suffixes.
	(gen-special-modules): New variable.
	(generated-modules): New variable.
	(headers): Use it.
	(before-compile): Likewise.
	(generated): Likewise, and add iconv-rules.
	* iconvdata/euc-cn.c: Renamed from euccn.c.
	* iconvdata/euc-jp.c: Renamed from eucjp.c.
	* iconvdata/euc-kr.c: Renamed from euckr.c.
	* iconvdata/euc-tw.c: Renamed from euctw.c.
	* iconvdata/iso_6937.c: Renamed from iso6937.c.
	* iconvdata/iso_6937-2.c: Renamed from iso6937-2.c.
	* iconvdata/t.61.c: Renamed from t61.c.
	* iconvdata/Makefile (distribute): Adjusted for those renames.
	Remove $(objpfx) from names.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/generic/hp-timing.h: Fix comment.
	* sysdeps/generic/dl-hash.h: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* posix/fnmatch.c (fnmatch): Always pass unsigned char values to
	FOLD macro.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* nss/db-Makefile ($(VAR_DB)/shadow.db): Fix last change.

1998-12-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Sync with
	current Linux 2.1.132 kernel sources.

1998-12-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	Patches by Ralf Baechle <ralf@gnu.org> for Linux/MIPS:
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Add ipc, change
	pread/pwrite and llseek calls.

	* sysdeps/unix/sysv/linux/mips/sysdep.S: New file.

1998-12-29  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>

	* malloc/thread-m.h [_LIBC] : Fix for NO_THREADS case.
1998-12-31 18:19:19 +00:00