* libio/vasprintf.c (_IO_vasprintf): Don't copy uninitialized byte
from stream buffer to result buffer.
Reported by Michael Meeks <michael@ximian.com>.
* 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.
* libio/iofclose.c (_IO_new_fclose): Unlink descriptor first to
avoid deadlock.
* libio/oldiofclose.c (_IO_old_fclose): Likewise.
* libio/genops.c (_IO_un_link): Get stream lock since it's not
always done in the caller.
(_IO_link_in): Likewise.
* libio/genops.c (_IO_list_all_stamp): New variable.
(_IO_un_link): Bump _IO_list_all_stamp after removing from list.
(_IO_link): Likewise for insertion.
(flush_cleanup): New function.
(_IO_flush_all): Get list_all_lock and all individual locks for the
streams. Detect and handle changes to the _IO_list_all list.
(_IO_flush_all_linebuffered): Likewise.
* sysdeps/generic/bits/stdio-lock.h: Define
_IO_cleanup_region_start_noarg.
* sysdeps/mach/hurd/bits/stdio-lock.c: Likewise.
* libio/stdio_ext.h: Moved to ...
* stdio-common/stdio_ext.h: ... here.
* libio/Makefile (headers): Move stdio_ext.h from here ...
* stdio-common/Makefile (headers): ... to here.
* include/stdio_ext.h: New file.
* stdio/Makefile (routines): Add the stdio_ext.h functions here.
* stdio/Versions (GLIBC_2.2.4): Export the stdio_ext.h functions.
* stdio/__flbf.c: New file.
* stdio/__fbufsize.c: New file.
* stdio/__fpending.c: New file.
* stdio/__fpurge.c: New file.
* stdio/__freadable.c: New file.
* stdio/__freading.c: New file.
* stdio/__fsetlocking.c: New file.
* stdio/__fwritable.c: New file.
* stdio/__fwriting.c: New file.
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* libio/filedoalloc.c (_IO_file_doallocate): A few more minor
cleanups and improvements.
2001-07-18 Andreas Schwab <schwab@suse.de>
* posix/regex.c (WORDCHAR_P) [WCHAR]: Also return true for the
underscore character.
2001-07-18 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc (new_heap): Don't call munmap for zero length.
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* libio/filedoalloc.c (_IO_file_doallocate): Use DEV_TTY_P if
available to determine whether descriptor is for tty before
calling isatty.
* sysdeps/unix/sysv/linux/device-nrs.h: Define DEV_TTY_P.
* sysdeps/generic/device-nrs.h: Likewise.
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-04-05 David S. Miller <davem@redhat.com>
Add hp-timing support for sparcv9/sparc64 targets.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: New file
* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: New file
* sysdeps/sparc/sparc64/hp-timing.c: New file
* sysdeps/sparc/sparc64/hp-timing.h: New file
* sysdeps/sparc/sparc32/sparcv9/Makefile: Build hp-timing.
* sysdeps/sparc/sparc64/Makefile: Likewise.
2001-04-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/fd_to_filename.h: New file.
* sysdeps/unix/sysv/linux/fd_to_filename.h: New file.
* libio/freopen.c (freopen): If FILENAME is NULL, try to get
filename from the open file descriptor.
* libio/freopen64.c (freopen64): Likewise.
2001-04-09 Bruno Haible <haible@clisp.cons.org>
* misc/error.c (error): fflush stdout also if
error_print_progname != NULL.
(error_at_line): Likewise.
2001-04-07 Bruno Haible <haible@clisp.cons.org>
* intl/gettextP.h (struct loaded_domain): Add codeset_cntr field.
(struct binding): Add codeset_cntr field.
(_nl_load_domain): Add domainbinding argument.
(_nl_init_domain_conv, _nl_free_domain_conv): New declarations.
(_nl_find_msg): New declaration, moved here from loadinfo.h.
* intl/loadinfo.h (struct loaded_l10nfile): Remove domainbinding field.
(_nl_make_l10nflist): Remove domainbinding argument.
(_nl_find_msg): Move declaration to gettextP.h.
* intl/bindtextdom.c (set_binding_values): Initialize ->codeset_cntr
to 0. Increment it when ->codeset is changed.
* intl/dcigettext.c (DCIGETTEXT): Pass binding to _nl_find_msg.
(_nl_find_msg): Add domainbinding argument. Reinitialize the converter
if domainbinding->codeset_cntr has been incremented.
* intl/finddomain.c (_nl_find_domain): Don't pass domainbinding to
_nl_make_l10nflist(). Pass it to _nl_load_domain() instead.
* intl/l10nflist.c (_nl_make_l10nflist): Remove domainbinding argument.
* intl/loadmsgcat.c (_nl_init_domain_conv): New function, extracted
from _nl_load_domain. Append //TRANSLIT also when using libiconv.
(_nl_free_domain_conv): New function, extracted from _nl_unload_domain.
(_nl_load_domain): Add domainbinding argument. Call
_nl_init_domain_conv.
(_nl_unload_domain): Call _nl_free_domain_conv.
* intl/Makefile (distribute): Add tst-codeset.sh, tstcodeset.po.
(test-srcs): Add tst-codeset.
(tests): Depend on tst-codeset.out.
(tst-codeset.out): New rule.
(CFLAGS-tst-codeset.c): New variable.
* intl/tst-codeset.sh: New file.
* intl/tstcodeset.po: New file.
* intl/tst-codeset.c: New file.
* locale/findlocale.c (_nl_find_locale): Update _nl_make_l10nflist
calls.
2001-02-19 Ulrich Drepper <drepper@redhat.com>
* libio/iogetline.c: Move return until after last statement.
* localedata/show-ucs-data.c: Don't show < > for better readability.
* sysdeps/ia64/fpu/Dist: New file.
* sysdeps/ia64/fpu/Makefile: New file.
* sysdeps/ia64/fpu/Versions: New file.
* sysdeps/ia64/fpu/e_acos.S: New file.
* sysdeps/ia64/fpu/e_acosf.S: New file.
* sysdeps/ia64/fpu/e_acosl.S: New file.
* sysdeps/ia64/fpu/e_asin.S: New file.
* sysdeps/ia64/fpu/e_asinf.S: New file.
* sysdeps/ia64/fpu/e_asinl.S: New file.
* sysdeps/ia64/fpu/e_atan2.S: New file.
* sysdeps/ia64/fpu/e_atan2f.S: New file.
* sysdeps/ia64/fpu/e_atan2l.c: New file.
* sysdeps/ia64/fpu/e_cosh.S: New file.
* sysdeps/ia64/fpu/e_coshf.S: New file.
* sysdeps/ia64/fpu/e_coshl.S: New file.
* sysdeps/ia64/fpu/e_exp.S: New file.
* sysdeps/ia64/fpu/e_expf.S: New file.
* sysdeps/ia64/fpu/e_expl.c: New file.
* sysdeps/ia64/fpu/e_fmod.S: New file.
* sysdeps/ia64/fpu/e_fmodf.S: New file.
* sysdeps/ia64/fpu/e_fmodl.S: New file.
* sysdeps/ia64/fpu/e_hypot.S: New file.
* sysdeps/ia64/fpu/e_hypotf.S: New file.
* sysdeps/ia64/fpu/e_hypotl.S: New file.
* sysdeps/ia64/fpu/e_log.S: New file.
* sysdeps/ia64/fpu/e_log10.c: New file.
* sysdeps/ia64/fpu/e_log10f.c: New file.
* sysdeps/ia64/fpu/e_log10l.c: New file.
* sysdeps/ia64/fpu/e_logf.S: New file.
* sysdeps/ia64/fpu/e_logl.c: New file.
* sysdeps/ia64/fpu/e_pow.S: New file.
* sysdeps/ia64/fpu/e_powf.S: New file.
* sysdeps/ia64/fpu/e_powl.S: New file.
* sysdeps/ia64/fpu/e_rem_pio2.c: New file.
* sysdeps/ia64/fpu/e_rem_pio2f.c: New file.
* sysdeps/ia64/fpu/e_remainder.S: New file.
* sysdeps/ia64/fpu/e_remainderf.S: New file.
* sysdeps/ia64/fpu/e_remainderl.S: New file.
* sysdeps/ia64/fpu/e_scalb.S: New file.
* sysdeps/ia64/fpu/e_scalbf.S: New file.
* sysdeps/ia64/fpu/e_scalbl.S: New file.
* sysdeps/ia64/fpu/e_sinh.S: New file.
* sysdeps/ia64/fpu/e_sinhf.S: New file.
* sysdeps/ia64/fpu/e_sinhl.S: New file.
* sysdeps/ia64/fpu/e_sqrt.S: New file.
* sysdeps/ia64/fpu/e_sqrtf.S: New file.
* sysdeps/ia64/fpu/e_sqrtl.S: New file.
* sysdeps/ia64/fpu/k_rem_pio2.c: New file.
* sysdeps/ia64/fpu/k_rem_pio2f.c: New file.
* sysdeps/ia64/fpu/k_rem_pio2l.c: New file.
* sysdeps/ia64/fpu/libm_atan2_reg.S: New file.
* sysdeps/ia64/fpu/libm_error.c: New file.
* sysdeps/ia64/fpu/libm_frexp4.S: New file.
* sysdeps/ia64/fpu/libm_frexp4f.S: New file.
* sysdeps/ia64/fpu/libm_frexp4l.S: New file.
* sysdeps/ia64/fpu/libm_reduce.S: New file.
* sysdeps/ia64/fpu/libm_support.h: New file.
* sysdeps/ia64/fpu/libm_tan.S: New file.
* sysdeps/ia64/fpu/s_atan.S: New file.
* sysdeps/ia64/fpu/s_atanf.S: New file.
* sysdeps/ia64/fpu/s_atanl.S: New file.
* sysdeps/ia64/fpu/s_cbrt.S: New file.
* sysdeps/ia64/fpu/s_cbrtf.S: New file.
* sysdeps/ia64/fpu/s_cbrtl.S: New file.
* sysdeps/ia64/fpu/s_ceil.S: New file.
* sysdeps/ia64/fpu/s_ceilf.S: New file.
* sysdeps/ia64/fpu/s_ceill.S: New file.
* sysdeps/ia64/fpu/s_cos.S: New file.
* sysdeps/ia64/fpu/s_cosf.S: New file.
* sysdeps/ia64/fpu/s_cosl.S: New file.
* sysdeps/ia64/fpu/s_expm1.S: New file.
* sysdeps/ia64/fpu/s_expm1f.S: New file.
* sysdeps/ia64/fpu/s_expm1l.S: New file.
* sysdeps/ia64/fpu/s_floor.S: New file.
* sysdeps/ia64/fpu/s_floorf.S: New file.
* sysdeps/ia64/fpu/s_floorl.S: New file.
* sysdeps/ia64/fpu/s_frexp.c: New file.
* sysdeps/ia64/fpu/s_frexpf.c: New file.
* sysdeps/ia64/fpu/s_frexpl.c: New file.
* sysdeps/ia64/fpu/s_ilogb.S: New file.
* sysdeps/ia64/fpu/s_ilogbf.S: New file.
* sysdeps/ia64/fpu/s_ilogbl.S: New file.
* sysdeps/ia64/fpu/s_ldexp.S: New file.
* sysdeps/ia64/fpu/s_ldexpf.S: New file.
* sysdeps/ia64/fpu/s_ldexpl.S: New file.
* sysdeps/ia64/fpu/s_log1p.S: New file.
* sysdeps/ia64/fpu/s_log1pf.S: New file.
* sysdeps/ia64/fpu/s_log1pl.S: New file.
* sysdeps/ia64/fpu/s_logb.S: New file.
* sysdeps/ia64/fpu/s_logbf.S: New file.
* sysdeps/ia64/fpu/s_logbl.S: New file.
* sysdeps/ia64/fpu/s_matherrf.c: New file.
* sysdeps/ia64/fpu/s_matherrl.c: New file.
* sysdeps/ia64/fpu/s_modf.S: New file.
* sysdeps/ia64/fpu/s_modff.S: New file.
* sysdeps/ia64/fpu/s_modfl.S: New file.
* sysdeps/ia64/fpu/s_nearbyint.S: New file.
* sysdeps/ia64/fpu/s_nearbyintf.S: New file.
* sysdeps/ia64/fpu/s_nearbyintl.S: New file.
* sysdeps/ia64/fpu/s_rint.S: New file.
* sysdeps/ia64/fpu/s_rintf.S: New file.
* sysdeps/ia64/fpu/s_rintl.S: New file.
* sysdeps/ia64/fpu/s_round.S: New file.
* sysdeps/ia64/fpu/s_roundf.S: New file.
* sysdeps/ia64/fpu/s_roundl.S: New file.
* sysdeps/ia64/fpu/s_scalbn.S: New file.
* sysdeps/ia64/fpu/s_scalbnf.S: New file.
* sysdeps/ia64/fpu/s_scalbnl.S: New file.
* sysdeps/ia64/fpu/s_significand.S: New file.
* sysdeps/ia64/fpu/s_significandf.S: New file.
* sysdeps/ia64/fpu/s_significandl.S: New file.
* sysdeps/ia64/fpu/s_sin.c: New file.
* sysdeps/ia64/fpu/s_sincos.c: New file.
* sysdeps/ia64/fpu/s_sincosf.c: New file.
* sysdeps/ia64/fpu/s_sincosl.c: New file.
* sysdeps/ia64/fpu/s_sinf.c: New file.
* sysdeps/ia64/fpu/s_sinl.c: New file.
* sysdeps/ia64/fpu/s_tan.S: New file.
* sysdeps/ia64/fpu/s_tanf.S: New file.
* sysdeps/ia64/fpu/s_tanl.S: New file.
* sysdeps/ia64/fpu/s_trunc.S: New file.
* sysdeps/ia64/fpu/s_truncf.S: New file.
* sysdeps/ia64/fpu/s_truncl.S: New file.
* sysdeps/ia64/fpu/w_acos.c: New file.
* sysdeps/ia64/fpu/w_acosf.c: New file.
* sysdeps/ia64/fpu/w_acosl.c: New file.
* sysdeps/ia64/fpu/w_asin.c: New file.
* sysdeps/ia64/fpu/w_asinf.c: New file.
* sysdeps/ia64/fpu/w_asinl.c: New file.
* sysdeps/ia64/fpu/w_atan2.c: New file.
* sysdeps/ia64/fpu/w_atan2f.c: New file.
* sysdeps/ia64/fpu/w_atan2l.c: New file.
* sysdeps/ia64/fpu/w_cosh.c: New file.
* sysdeps/ia64/fpu/w_coshf.c: New file.
* sysdeps/ia64/fpu/w_coshl.c: New file.
* sysdeps/ia64/fpu/w_exp.c: New file.
* sysdeps/ia64/fpu/w_expf.c: New file.
* sysdeps/ia64/fpu/w_fmod.c: New file.
* sysdeps/ia64/fpu/w_fmodf.c: New file.
* sysdeps/ia64/fpu/w_fmodl.c: New file.
* sysdeps/ia64/fpu/w_hypot.c: New file.
* sysdeps/ia64/fpu/w_hypotf.c: New file.
* sysdeps/ia64/fpu/w_hypotl.c: New file.
* sysdeps/ia64/fpu/w_log.c: New file.
* sysdeps/ia64/fpu/w_log10.c: New file.
* sysdeps/ia64/fpu/w_log10f.c: New file.
* sysdeps/ia64/fpu/w_log10l.c: New file.
* sysdeps/ia64/fpu/w_logf.c: New file.
* sysdeps/ia64/fpu/w_logl.c: New file.
* sysdeps/ia64/fpu/w_pow.c: New file.
* sysdeps/ia64/fpu/w_powf.c: New file.
* sysdeps/ia64/fpu/w_powl.c: New file.
* sysdeps/ia64/fpu/w_remainder.c: New file.
* sysdeps/ia64/fpu/w_remainderf.c: New file.
* sysdeps/ia64/fpu/w_remainderl.c: New file.
* sysdeps/ia64/fpu/w_scalb.c: New file.
* sysdeps/ia64/fpu/w_scalbf.c: New file.
* sysdeps/ia64/fpu/w_scalbl.c: New file.
* sysdeps/ia64/fpu/w_sqrt.c: New file.
* sysdeps/ia64/fpu/w_sqrtf.c: New file.
* sysdeps/ia64/fpu/w_sqrtl.c: New file.
* sysdeps/ia64/fpu/libm-test-ulps: Adjust for long double
implementation.
* sysdeps/ia64/fpu/bits/mathdef.h: Correct float_t and double_t types.
Change FP_ILOGBNAN for new implementation.
* Verions.def: Add 2.2.3 versions.
2001-02-12 Andreas Jaeger <aj@suse.de>
* posix/Makefile (tests): Don't run bug-regex2 when
cross-compiling.
* libio/Makefile (tests): Don't run test-freopen when
cross-compiling.
* manual/stdio.texi (Streams and I18N): Fix typos.
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.
2000-12-26 Andreas Jaeger <aj@suse.de>
* libio/getc_u.c: Include stdio.h via system path to get internal
prototypes.
* libio/getwc_u.c: Likewise.
* stdlib/strfmon.c: Fix prototype of __printf_fp.
* stdio-common/vfprintf.c (process_arg): Move __printf_fphex and
__printf_fp prototypes to ...
* include/printf.h: ...here.
* include/stdio.h: Add some internal prototypes to shut up GCC.
* include/stdlib.h: Likewise.
* sysdeps/posix/sigpause.c (__sigpause): Use ISO C prototype
declaration.
* include/signal.h: Add prototypes for internal sigpause
interfaces.
* stdio-common/Makefile (tests): Add tst-fmemopen.
* stdio-common/tst-fmemopen.c: New file.
Test case by Ben Collins <bcollins@debian.org>.
* libio/iofopncook.c (_IO_cookie_seek): Correct test for error.
* libio/fmemopen.c (fmemopen_read): Return 0 at end of buffer.
(fmemopen_write): Set errno at end of buffer.
2000-09-24 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (_IO_doallocbuf): Don't use single byte buffer if
stream is in wide mode.
* stdio-common/vfprintf.c (buffered_vfprintf): Orient stream.
2000-09-21 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso-2022-cn-ext.c (EMIT_SHIFT_TO_INIT): Shift __count
by 3, not 2.
(INIT_PARAMS, UPDATE_PARAMS): Likewise.
handling.
* stdio/tst-printf.sh: Adjust expected results.
Reported by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-09-05 Ulrich Drepper <drepper@redhat.com>
* libio/libio.h (_IO_fwide_maybe_incompatible): For glibc 2.0
compatibility check for old stream and call _IO_wide in doubt.
(_IO_fwide): Use _IO_fwide_maybe_incompatible macro.
* libio/iofwide.c (_IO_fwide): If compatibility with glibc 2.0 is
needed tst for such an old structure and don't do anything.
* libio/freopen.c: Remove declaration of _IO_stdin_used.
* soft-fp/Makefile (distribute): Add op-8.h and testit.c.
* soft-fp/Makefile (distribute): Add the math functions, too.
* soft-fp/Makefile (distribute): Add ChangeLog, Banner, and configure.
* soft-fp/soft-fp.h (_FP_ROUND_ZERO): Cast 0 to void before using it
as a statement.
* soft-fp/sysdeps/powerpc/Makefile (routines): New file.
* soft-fp/sysdeps/powerpc/q_*: New files.
2000-09-02 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Fixes for fcntl64.
* libio/fmemopen.c (fmemopen_close): Revert one part of last
patch.