2002-08-26 Ulrich Drepper <drepper@redhat.com>
* libio/wfileops.c (_IO_wfile_seekoff): Set fp->_offset after
finding the read position [PR libc/4265].
* libio/Makefile (tests): Add bug-rewind2.
* libio/bug-rewind2.c: New file.
2002-08-04 Ulrich Drepper <drepper@redhat.com>
* stdio-common/psignal.c: Declare _sys_siglist_internal. Use USEINT
to access _sys_siglist.
* string/strsignal.c: Likewise.
* sysdeps/generic/siglist.c: Add _sys_siglist_internal alias.
* sysdeps/gnu/siglist.c: Likewise.
* sysdeps/unix/siglist.c: Likewise.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
* libio/fileops.c: Add missing INTUSEs for _IO_file_jumps.
* libio/wfileops.c: Add missing INTUSE for _IO_file_close.
* intl/dcigettext.c: Define _nl_default_dirname_internal as hidden
alias and use it.
* intl/bindtextdom.c: Use _nl_default_dirname_internal.
* include/netinet/in.h: Add declaration of in6addr_loopback_internal.
* inet/in6_addr.c: Add INTVARDEF for in6addr_loopback.
* sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access.
* include/time.h: Add libc_hidden_proto for __gmtime_r.
* time/gmtime.c (__gmtime_r): Add libc_hidden_def.
* iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db,
and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db,
and __gconv_get_cache respectively.
* iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and
defined static. Change all users.
(__gconv_get_cache): New function.
* iconv/gconv_db.c (__gconv_get_modules_db): New function.
(__gconv_get_alias_db): New function.
* iconv/gconv_int.h (__gconv_alias_db): Declare as hidden.
(__conv_modules_db): Likewise.
Add prototypes for __gconv_get_cache, __gconv_get_modules_db,
and __gconv_get_alias_db.
* iconv/iconv_prog.c: Use the new functions instead of accessing the
variables.
* include/stdlib.h: Add prototype and libc_hidden_proto for
__default_morecore.
* sysdeps/generic/morecore.c: Include <stdlib.h>.
* malloc/obstack.c: Remove fputs macro.
* malloc/mtrace.c: Remove fopen macro.
(_IO_file_jumps_mmap): Use it.
(_IO_file_underflow_mmap): Rewritten. If after EOF or fflush,
repeat the stat check and resize the mapped buffer as necessary.
2002-07-31 Roland McGrath <roland@frob.com>
* libio/fileops.c (decide_maybe_mmap): New static function.
Code taken from libio/iofopen.c:__fopen_maybe_mmap to try to
mmap the file contents. Then switch the jump tables to the mmap
tables if it worked, or the vanilla file tables if not.
(_IO_file_underflow_maybe_mmap): New function.
(_IO_file_seekoff_maybe_mmap): New function.
(_IO_file_xsgetn_maybe_mmap): New function.
(_IO_file_jumps_maybe_mmap): New variable, jump table using those.
* libio/libioP.h: Declare those.
* libio/wfileops.c (_IO_wfile_underflow_maybe_mmap): New function.
(_IO_wfile_jumps_maybe_mmap): New variable, jump table using that.
* libio/iofopen.c (__fopen_maybe_mmap): Don't try to mmap here.
If the stream is read-only, set its jump tables to those new ones.
* libio/iofdopen.c (_IO_new_fdopen) [_G_HAVE_MMAP]: Set the initial
jump tables to the maybe_mmap ones, and don't call __fopen_maybe_mmap.
We need the tables set before _IO_file_attach.
* libio/tst-mmap-eofsync.c: New file.
* libio/tst-mmap-fflushsync.c: New file.
* libio/bug-mmap-fflush.c: New file.
* libio/tst-mmap2-eofsync.c: New file.
* libio/Makefile (tests): Add them.
* libio/wfileops.c (_IO_wfile_underflow_mmap): Don't set EOF bit when
_IO_file_underflow_mmap fails, it already set the appropriate bit.
2002-01-19 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_file_underflow_mmap): Don't define as static.
Set offset if read end wasn't the buffer end.
(_IO_file_seekoff_mmap): New function.
(_IO_file_xsgetn_mmap): New function.
(_IO_file_jumps_mmap): Use the two new functions.
* libio/wfileops.c (_IO_wfile_underflow_mmap): Handle end read buffer
!= end buffer.
* libio/libioP.h: Declare _IO_file_seekoff_mmap and
_IO_file_underflow_mmap.
* libio/iofopen.c: Don't position file descriptor at end of file.
* libio/tst-widetext.c: Improve error messages.
* stdio-common/tst-rndseek.c: Likewise.
* libio/wfileops.c (_IO_wfile_underflow): Remove incorrect test
for possible conversion using __codecvt_do_in.
* libio/Makefile (tests): Add tst-fgetws.
* libio/tst-fgetws.c: New file.
* libio/iofgetws.c: Use _IO_ferror_unlocked macros instead of
coding the test here.
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.
2000-07-20 Ulrich Drepper <drepper@redhat.com>
* libio/Makefile (tests): Add tst_wprintf2.
(tst_wprintf2-ARGS): Define.
* libio/tst_wprintf2.c: New file.
Based on a test case by Yoshito Kawada <KAWADA@jp.ibm.com>.
* libio/wfiledoalloc.c: Only allocate external buffer if this
hasn't happened yet.
* libio/wfileops.c (_IO_wdo_write): Overflow only if there is really
something in the buffer. gconv call can write up to end of the
buffer, not only _IO_write_end.
(_IO_wfile_overflow): Allocate also external buffer.
* stdio-common/vfprintf.c (process_string_arg): Handle multibyte
strings with precision in vfwprintf correctly.
* stdio-common/vfprintf.c: Fix completely broken handling of
unbuffered wide character streams.
Reported by Yoshito Kawada <KAWADA@jp.ibm.com>.
1999-06-18 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/alpha/atomicity.h: Correct counting of subsections.
1999-06-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* stdlib/tst-strtoll.c: Avoid warning about huge constant.
1999-06-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* stdio-common/vfprintf.c (group_member): Make parameters and
return types pointers to CHAR_T instead of UCHAR_T.
(vfprintf): Change type of work_buffer, workend and string to
CHAR_T pointer/array.
(process_arg, process_string_arg): Adjust/remove casts. Add
missing use of L_ macro.
(printf_unknown): Add missing uses of L_ macro.
1999-06-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* wcsmbs/wcschrnul.c: Explicitly cast return value to avoid
warning.
1999-06-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* libio/wgenops.c (__wuflow): Fix use of WEOF vs. EOF. Call
_IO_switch_to_wget_mode instead of _IO_switch_to_get_mode.
(__wunderflow): Likewise.
(_IO_switch_to_wget_mode): Likewise.
(_IO_init_wmarker): Likewise.
* libio/wfileops.c (_IO_wfile_seekoff): Call
_IO_switch_to_wget_mode, not _IO_switch_to_get_mode.
(_IO_wfile_jumps): Fix pbackfail entry.
* libio/iosetvbuf.c (_IO_setvbuf): Only call wide char setbuf
function if the stream is currently unoriented.
1999-06-19 Zack Weinberg <zack@rabi.columbia.edu>
* wcsmbs/wchar.h: Define __need___va_list before including stdarg.h.
Wrap all wide stream functions with #ifdef __USE_ISOC9X. Use
__gnuc_va_list in v*w(printf|scanf) prototypes.
1999-06-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libio/oldiopopen.c (_IO_old_proc_open): Apply change from
1999-03-29 to iopopen also here.
Reported by Richard Braakman <dark@xs4all.nl>.
1999-06-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* include/features.h: Use __GNUC_PREREQ.
* sysdeps/i386/fpu/bits/mathinline.h: Likewise
1999-06-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* stdio-common/vfscanf.c (ungetc, inchar) [COMPILE_WPRINTF]:
Change EOF to WEOF and remove cast.
(UNGETC): Remove macro.
(_IO_vfwscanf): Change isspace to ISSPACE and UNGETC to ungetc.
* stdio-common/printf-parse.h (find_spec) [!COMPILE_WPRINTF]:
Change ISASCII to isascii and MBRLEN to mbrlen.
(parse_one_spec): Compare info.spec always against wchar_t
values.
* stdio-common/vfprintf.c: Remove unused ISASCII and MBRLEN.
(_itoa, _itoa_word) [COMPILE_WRPINTF]: Don't cast second argument.
(NOT_IN_JUMP_RANGE, CHAR_CLASS): Change (int) to (INT_T), use L_.
1999-06-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* libio/Makefile (shared-only-routines): Add oldiofgetpos,
oldiofgetpos64, oldiofsetpos and oldiofsetpos64.
(routines): Include oldiofgetpos, oldiofgetpos64, oldiofsetpos and
oldiofsetpos64 only if doing versioning.