* libio/Makefile (tests): Add tst-getwc and tst_putwc.
(CFLAGS-tst_putwc.c): New definition.
* libio/tst_getwc.c: New file.
* libio/tst_getwc.input: New file.
* libio/tst_putwc.c: New file.
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-04 Kaz Kylheku <kaz@ashi.footprints.net>
Lock for stdio stream list becomes global, for use in LinuxThreads.
* libio/genops.c (_IO_iter_begin, _IO_iter_end,
_IO_iter_next, _IO_iter_file, _IO_list_lock, _IO_list_unlock,
_IO_list_resetlock): New interface for iterating global list of
streams without accessing the _IO_list_all global variable,
and for manipulating the lock which protects this list.
* libio/libioP.h: Likewise.
* libio/Version: Add entries for the new functions.
* libio/libioP.h (_IO_ITER): New typedef, just an alias for
pointer to _IO_FILE.
* 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>
* libio/iopopen.c (_IO_new_proc_open): Close pipes in case the
mode is invalid.
* libio/oldiopopen.c (_IO_old_proc_open): Likewise.
Patch by Bart Veer <bartv@redhat.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.
2000-03-14 Ulrich Drepper <drepper@redhat.com>
* libio/iofopncook.c (_IO_cookie_seek): Return error only if value
returned by seek cookie function is -1.
(input, output): Functions removed.
(mach_open_devstream): Use devstream_{read,write} as cookie functions,
using only the vanilla fopencookie interface.
* hurd/fopenport.c [! USE_IN_LIBIO] (cookie_io_functions_t): Define
as macro for __io_functions.
(funcsio): Use cookie_io_functions_t type name.
(fopenport): Renamed from __fopenport. Rewrite to call fopencookie.
* libio/iofopncook.c (_IO_cookie_init): New function, broken out of
fopencookie.
(fopencookie): Use it.
* libio/libio.h: Declare _IO_cookie_init.
* hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Implement using
_IO_cookie_init.
* libio/libio.h (__io_seek_fn): Fix second argument type
to be a pointer, in line with the manual and the old stdio.
* libio/iofopncook.c (_IO_cookie_seek): Fix (sole) caller.
* sysdeps/generic/bits/stdio-lock.h: New file.
This is a stub with #error, but that's better than no file at all.
* sysdeps/unix/sysv/linux/alpha/syscall.S:
* manual/message.texi (Using gettextized software):
* manual/filesys.texi (File Size):
* manual/charset.texi (glibc iconv Implementation):
* locale/programs/ld-collate.c (collate_output):
* manual/stdio.texi (Output Conversion Syntax):
* misc/sys/cdefs.h: Define __attribute_malloc__ according to
available gcc version.
* string/string.h: Mark strdup, __strdup, and strndup with
__attribute_malloc__.
* stdlib/stdlib.h: Make malloc, calloc, realloc, and valloc with
__attribute_malloc__.
* malloc/malloc.h: Make malloc, calloc, realloc, valloc, pvallc,
__morecore, and __default_morecore with __attribute_malloc__.
Provide default definition for __attribute_malloc__.
* libio/stdio.h: Make tempnam with __attribute_malloc__.
1999-08-19 Andreas Schwab <schwab@suse.de>
* libio/iovswscanf.c (vswscanf): Make stream unoriented initially
and call _IO_fwide, to get the wide stream state initialized
correctly. Don't set _IO_JUMPS.
* libio/vsnprintf.c (_IO_vsnprintf): Avoid casts to _IO_FILE *.
* libio/vswprintf.c (_IO_vswprintf): Likewise. Pass
_IO_wstrn_jumps to _IO_no_init instead of setting _IO_WIDE_JUMPS
directly.
1999-08-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (jn_test): Fix typo in description.
(erfc_test): Add some more tests.
(erf_test): Add some more tests.
1999-08-19 Andreas Schwab <schwab@suse.de>
* csu/Makefile ($(objpfx)initfini.s): Replace $(no-exceptions) by
expression using $(exceptions).
1999-08-05 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c (_IO_flush_all): Don't access elements beyond what
2.0 defined if they are not available.