Age | Commit message (Collapse) | Author |
|
|
|
The cached offset is reliable to use in ftell when the stream handle
is active. We can consider a stream as being active when there is
unflushed data. However, even in this case, we can use the cached
offset only when the stream is not being written to in a+ mode,
because this case may have unflushed data and a stale offset; the
previous read could have sent it off somewhere other than the end of
the file.
There were a couple of adjustments necessary to get this to work.
Firstly, fdopen now ceases to use _IO_attach_fd because it sets the
offset cache to the current file position. This is not correct
because there could be changes to the file descriptor before the
stream handle is activated, which would not get reflected.
A similar offset caching action is done in _IO_fwide, claiming that
wide streams have 'problems' with the file offsets. There don't seem
to be any obvious problems with not having the offset cache available,
other than that it will have to be queried in a subsequent
read/write/seek. I have removed this as well.
The testsuite passes successfully with these changes on x86_64.
|
|
ftell semantics are distinct from fseek(SEEK_CUR) especially when it
is called on a file handler that is not yet active. Due to this
caveat, much care needs to be taken while modifying the handler data
and hence, this first iteration on separating out ftell focusses on
maintaining handler data integrity at all times while it figures out
the current stream offset. The result is that it makes a syscall for
every offset request.
There is scope for optimizing this by caching offsets when we know
that the handler is active. A simple way to find out is when the
buffers have data. It is not so simple to find this out when the
buffer is empty without adding some kind of flag.
|
|
|
|
ftell tries to avoid flushing the buffer when it is in write mode by
converting the wide char data and placing it into the binary buffer.
If the output buffer space is full and there is data to write, the
code reverts to flushing the buffer. This breaks when there is space
in the buffer but it is not enough to convert the next character in
the wide data buffer, due to which __codecvt_do_out returns a
__codecvt_partial status. In this case, ftell keeps running in an
infinite loop.
The fix here is to detect the __codecvt_partial status in addition to
checking if the buffer is full. I have also added a test case that
demonstrates the infinite loop.
|
|
|
|
|
|
|
|
|
|
|
|
[BZ #5298]
Use write pointer state along with the file offset and/or the read
pointers to get the current file position.
|
|
[BZ #14543]
Set the internal buffer state correctly whenever the external buffer
state is modified by fseek by either computing the current
_IO_read_ptr/end for the internal buffer based on the new _IO_read_ptr
in the external buffer or converting the content read into the
external buffer, up to the extent of the requested fseek offset.
|
|
* libio/fileops.c: Fix typos in comments.
* libio/oldfileops.c: Likewise.
* libio/wfileops.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reformulates the in-buffer optimisation check to match the code in
_IO_new_file_seekoff. No functional changes, but easier to understand.
|
|
Add _tid slot to maintain consistency with kernel.
|
|
* libio/wfileops.c (_IO_wfile_underflow): Fix handling of
incomplete characters at end of input buffer.
* libio/Makefile (tests): Add tst-fgetwc.
* libio/tst-fgetwc.c: New file.
* libio/tst-fgetwc.input: New file.
|
|
* libio/fputwc_u.c (fputwc_unlocked): Fix return value.
* libio/getwc_u.c (__getwc_unlocked): Likewise.
* libio/wfileops.c (_IO_wdo_write): Likewise.
|
|
|
|
|
|
2004-01-14 Ulrich Drepper <drepper@redhat.com>
* libio/libio.h: Add const to function tables types.
* libio/libioP.h: Likewise.
* /login/utmp-private.h: Likewise.
* libio/fileops.c: Add const to jump table variable definition.
* libio/genops.c: Likewise.
* libio/iofopncook.c: Likewise.
* libio/iopopen.c: Likewise.
* libio/memstream.c: Likewise.
* libio/obprintf.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/oldiopopen.c: Likewise.
* libio/strops.c: Likewise.
* libio/vsnprintf.c: Likewise.
* libio/vswprintf.c: Likewise.
* libio/wfileops.c: Likewise.
* libio/wstrops.c: Likewise.
* login/getutent_r.c: Likewise.
* login/getutid_r.c Likewise.
* login/getutline_r.c: Likewise.
* sysdeps/generic/utmp_file.c: Likewise.
|
|
* sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Fill in c_ispeed
and c_ospeed fields.
* sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Set c_ospeed field.
(cfsetispeed): Set c_ispeed field.
* sysdeps/unix/sysv/linux/tcsetattr.c (IBAUD0): Define unconditionally
to match corresponding speed.c code.
2003-09-06 Ulrich Drepper <drepper@redhat.com>
* libio/wfileops.c (_IO_wfile_underflow): Mark beginning of the
narrow character buffer.
* libio/Makefile: Add rules to build and run bug-ftell.
* libio/bug-ftell.c: New file.
* stdio-common/vfprintf.c: Don't use the first grouping number twice.
* stdio-common/vfscanf.c (vfscanf): Fix recognition of characters
matching the decimal point and possibly leading the thousands
separator. This caused the recognition of thousands separators to
always fail.
2003-09-05 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_new_file_overflow): Handle switching to
write mode from read in backup buffer.
* libio/Makefile (tests): Add bug-ungetc2.
* libio/bug-ungetc2.c: New file.
2003-09-05 Roland McGrath <roland@redhat.com>
>>>>>>> 1.7905
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Define VXFS_SUPER_MAGIC.
|
|
2003-08-29 Jakub Jelinek <jakub@redhat.com>
* libio/Makefile: Compile fputc.c, fputwc.c, freopen64.c, freopen.c,
fseek.c, fseeko64.c, fseeko.c, ftello64.c, ftello.c, fwide.c, getc.c,
getchar.c, getwc.c, getwchar.c, iofclose.c, iofflush.c, iofgetpos64.c,
iofgetpos.c, iofgets.c, iofgetws.c, iofputs.c, iofputws.c, iofread.c,
iofsetpos64.c, iofsetpos.c, ioftell.c, iofwrite.c, iogetdelim.c,
iogetline.c, iogets.c, iogetwline.c, ioputs.c, ioseekoff.c,
ioseekpos.c, iosetbuffer.c, iosetvbuf.c, ioungetc.c, ioungetwc.c,
oldfileops.c, oldiofclose.c, oldiofgetpos64.c, oldiofgetpos.c,
oldiofsetpos64.c, oldiofsetpos.c, peekc.c, putc.c, putchar.c, putwc.c,
putwchar.c and rewind.c with exceptions.
* sysdeps/generic/bits/stdio-lock.h (_IO_acquire_lock,
_IO_release_lock): Define.
* libio/fileops.c (_IO_new_file_underflow): Use it.
* libio/fputc.c (fputc): Likewise.
* libio/fputwc.c (fputwc): Likewise.
* libio/freopen64.c (freopen64):
* libio/freopen.c (freopen): Likewise.
* libio/fseek.c (fseek): Likewise.
* libio/fseeko64.c (fseeko64): Likewise.
* libio/fseeko.c (fseeko): Likewise.
* libio/ftello64.c (ftello64): Likewise.
* libio/ftello.c (ftello): Likewise.
* libio/fwide.c (fwide): Likewise.
* libio/getc.c (_IO_getc): Likewise.
* libio/getchar.c (getchar): Likewise.
* libio/getwc.c (_IO_getwc): Likewise.
* libio/getwchar.c (getwchar): Likewise.
* libio/iofclose.c (_IO_new_fclose):
* libio/iofflush.c (_IO_fflush): Likewise.
* libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise.
* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
* libio/iofgets.c (_IO_fgets): Likewise.
* libio/iofgetws.c (fgetws): Likewise.
* libio/iofputs.c (_IO_fputs):
* libio/iofputws.c (_IO_fputs): Likewise.
* libio/iofread.c (_IO_fread): Likewise.
* libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise.
* libio/iofsetpos.c (_IO_new_fsetpos): Likewise.
* libio/ioftell.c (_IO_ftell): Likewise.
* libio/iofwrite.c (_IO_fwrite): Likewise.
* libio/iogetdelim.c (_IO_getdelim): Likewise.
* libio/iogets.c (_IO_gets): Likewise.
* libio/ioputs.c (_IO_puts): Likewise.
* libio/ioseekoff.c (_IO_seekoff): Likewise.
* libio/ioseekpos.c (_IO_seekpos): Likewise.
* libio/iosetbuffer.c (_IO_setbuffer): Likewise.
* libio/iosetvbuf.c (_IO_setvbuf): Likewise.
* libio/ioungetc.c (_IO_ungetc): Likewise.
* libio/ioungetwc.c (ungetwc): Likewise.
* libio/oldiofclose.c (_IO_old_fclose): Likewise.
* libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise.
* libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise.
* libio/oldiofsetpos64.c (_IO_old_fsetpos64): Likewise.
* libio/oldiofsetpos.c (_IO_old_fsetpos): Likewise.
* libio/peekc.c (_IO_peekc_locked): Likewise.
* libio/putc.c (_IO_putc): Likewise.
* libio/putchar.c (putchar): Likewise.
* libio/putwc.c (putwc): Likewise.
* libio/putwchar.c (putwchar): Likewise.
* libio/rewind.c (rewind): Likewise.
* libio/wfileops.c (_IO_wfile_underflow): Likewise.
|
|
header lines and write out foo.symlist files for each foo.so.NN listed.
* libio/libioP.h (_IO_wfile_jumps): Remove attribute_hidden.
This symbol is exported, and we don't want to hide it.
Add libc_hidden_proto instead.
(_IO_file_jumps): Add libc_hidden_proto.
* libio/wfileops.c (_IO_wfile_jumps): Add libc_hidden_data_def.
Remove INTVARDEF.
* libio/fileops.c (_IO_file_jumps): Likewise.
* libio/stdfiles.c: Don't use INTUSE on them.
* libio/iofdopen.c (_IO_new_fdopen): Likewise.
* libio/iofopen.c (__fopen_internal): Likewise.
* libio/freopen.c (freopen): Likewise.
* libio/freopen64.c (freopen64): Likewise.
* libio/iovdprintf.c (_IO_vdprintf): Likewise.
|
|
adjustment can be made in the current buffer.
|
|
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-24 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap.c (charmap_new_char): Don't use
ULONG_MAX as maximum UCS4 value.
* sysdeps/unix/sysv/linux/ia64/sys/user.h: New file.
* sysdeps/generic/strtol.c: We don't need the isascii test in glibc.
* malloc/hooks.c (public_sET_STATe): use size_t as type for i.
* malloc/malloc.c (mALLINFo): Likewise.
* libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison.
* libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when
examining result of _IO_do_flush call.
* stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg.
Use prec not spec when sizing buffers.
* catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings.
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
* stdio-common/vfscanf.c (inchar): Likewise.
* misc/efgcvt_r.c (fcvt_r): Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
* elf/readlib.c (process_file): Likewise.
* elf/sprof.c (load_profdata): Likewise.
* sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise.
* locale/programs/linereader.c (get_toplvl_escape): Likewise.
* locale/programs/charmap.c (charmap_read): Likewise.
* libio/fileops.c: Likewise.
* libio/fmemopen.c: Likewise.
* stdlib/strtod.c: Likewise.
* elf/dl-load.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c (process_block): Likewise.
* sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
macro to calm down the compiler.
* iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning.
* sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding
placement of errno definition.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value
from 1024 to 65536, to avoid buffer overrun.
2002-08-16 Paul Eggert <eggert@twinsun.com>
* resolv/gethnamaddr.c (MAXPACKET): Increase minimum value
from 1024 to 65536, to avoid buffer overrun.
* resolv/res_query.c (MAXPACKET): Likewise.
architectures.
|
|
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-07-15 Ulrich Drepper <drepper@redhat.com>
* libio/wfileops.c (_IO_wfile_seekoff): Reposition wide pointers
and adjust state for seek position. [PR libc/4070]
* libio/Makefile (tests): Add bug-rewind.
* libio/bug-rewind.c: New file.
|
|
2002-06-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (_dl_debug_bindings): Use type_class 4 for TLS
lookups.
* elf/rtld.c (dl_main): Move TLS setup code before LD_TRACE_PRELINKING
code. Print TLS modid and offset for modules containing PT_TLS
segments.
2002-06-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/dl-brk.c: Move...
* sysdeps/unix/sysv/linux/dl-brk.c: ...here.
* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move...
* sysdeps/unix/sysv/linux/dl-sbrk.c: ...here.
2002-06-07 Jakub Jelinek <jakub@redhat.com>
* nss/getXXbyYY_r.c (NEW, NEW1): Define.
(NEW (REENTRANT_NAME)): Strong alias to INTERNAL (REENTRANT_NAME).
(REENTRANT_NAME@@GLIBC_2.1.2): Use NEW (REENTRANT_NAME).
* nss/getXXent_r.c (NEW, NEW1): Define.
(NEW (REENTRANT_GETNAME)): Strong alias to
INTERNAL (REENTRANT_GETNAME).
(REENTRANT_GETNAME@@GLIBC_2.1.2): Use NEW (REENTRANT_GETNAME).
2002-06-21 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_file_setbuf_mmap): New function.
(_IO_file_jumps_mmap): Use it.
* libio/iosetvbuf.c: Don't call _IO_WSETBUF.
* libio/libioP.h: Remove _IO_wdefault_setbuf and
_IO_wdefault_setbuf_internal prorotypes. Add _IO_file_setbuf_mmap
prototype.
* libio/wfileops.c (_IO_wfile_setbuf): Removed.
(_IO_wfile_jumps_mmap): Don't use it anymore.
* libio/wgenops.c (_IO_wdefault_setbuf): Removed.
* libio/memstream.c (_IO_wmem_jumps): Use _IO_default_setbuf not
_IO_wdefault_setbuf.
* libio/vswprintf.c (_IO_wstrn_jumps): Likewise.
* libio/wstrops.c (_IO_wstr_jumps): Likewise.
* stdio-common/vfprintf.c (_IO_helper_jumps): Likewise.
2002-06-05 Jakub Jelinek <jakub@redhat.com>
* libio/Makefile (tests): Add tst-mmap-setvbuf.
* libio/tst-mmap-setvbuf.c: New test.
|
|
* stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden.
(_itowa_upper_digits): Likewise.
* libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden.
* libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare
as hidden.
* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps,
_IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps,
_IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal,
_IO_wfile_jumps_internal, and _IO_list_all_internal as hidden.
* gmon/gmon.c (__bb_head): Define as hidden.
* gmon/bb_exit_func.c (__bb_head): Declare as hidden.
* argp/argp-parse.c (_argp_hang): Define as static.
* include/libc-symbols.h (_INTVARDEF): Adjust for visibility
handling in latest compilers.
* inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to
define alias.
* libio/fileops.c (_IO_file_jumps): Likewise.
* libio/stdfiles.c (_IO_list_all): Likewise.
* libio/wfileops.c (_IO_wfile_jumps): Likewise.
* malloc/malloc.h: Move __libc_malloc_initialized declaration to
include/malloc.h.
* include/malloc.h: Add __libc_malloc_initialized declaration
here. Mark variable hidden.
* malloc/malloc.c: Include <malloc.h> not "malloc.h".
* elf/dl-open.c (__libc_argc): Declare as hidden.
(__libc_argv): Likewise.
* sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden.
(__libc_argv): Likewise.
* sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and
__libc_argv as hidden.
* sysdeps/mach/hurd/mips/init-first.c: Likewise.
* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
* sysdeps/unix/sysv/aix/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
|
|
2002-02-25 Ulrich Drepper <drepper@redhat.com>
* assert/assert-perr.c: Use INTUSE to reference functions and variables
inside libc itself. Ise INTDEF and INTDEF2 to define appropriate
aliases. Add prototypes for the new aliases.
* assert/assert.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/stdio.h: Likewise.
* include/netinet/in.h: Likewise.
* include/rpc/auth.h: Likewise.
* include/rpc/auth_unix.h: Likewise.
* include/rpc/key_prot.h: Likewise.
* include/rpc/pmap_prot.h: Likewise.
* include/rpc/pmap_rmt.h: Likewise.
* include/rpc/rpc_msg.h: Likewise.
* include/rpc/xdr.h: Likewise.
* inet/gethstbyad_r.c: Likewise.
* inet/gethstbynm2_r.c: Likewise.
* inet/gethstbynm_r.c: Likewise.
* inet/gethstent_r.c: Likewise.
* inet/in6_addr.c: Likewise.
* libio/__fpurge.c: Likewise.
* libio/filedoalloc.c: Likewise.
* libio/fileops.c: Likewise.
* libio/ftello.c: Likewise.
* libio/ftello64.c: Likewise.
* libio/genops.c: Likewise.
* libio/iofclose.c: Likewise.
* libio/iofdopen.c: Likewise.
* libio/iofflush.c: Likewise.
* libio/iofflush_u.c: Likewise.
* libio/iofgetpos.c: Likewise.
* libio/iofgetpos64.c: Likewise.
* libio/iofgets.c: Likewise.
* libio/iofgets_u.c: Likewise.
* libio/iofopen.c: Likewise.
* libio/iofopncook.c: Likewise.
* libio/iofputs.c: Likewise.
* libio/iofread.c: Likewise.
* libio/iofread_u.c: Likewise.
* libio/iofsetpos.c: Likewise.
* libio/iofsetpos64.c: Likewise.
* libio/ioftell.c: Likewise.
* libio/iofwrite.c: Likewise.
* libio/iogetline.c: Likewise.
* libio/iogets.c: Likewise.
* libio/iogetwline.c: Likewise.
* libio/iolibio.h: Likewise.
* libio/iopadn.c: Likewise.
* libio/iopopen.c: Likewise.
* libio/ioseekoff.c: Likewise.
* libio/ioseekpos.c: Likewise.
* libio/iosetbuffer.c: Likewise.
* libio/iosetvbuf.c: Likewise.
* libio/ioungetc.c: Likewise.
* libio/ioungetwc.c: Likewise.
* libio/iovdprintf.c: Likewise.
* libio/iovsprintf.c: Likewise.
* libio/iovsscanf.c: Likewise.
* libio/libioP.h: Likewise.
* libio/memstream.c: Likewise.
* libio/obprintf.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/oldiofclose.c: Likewise.
* libio/oldiofdopen.c: Likewise.
* libio/oldiofgetpos.c: Likewise.
* libio/oldiofgetpos64.c: Likewise.
* libio/oldiofopen.c: Likewise.
* libio/oldiofsetpos.c: Likewise.
* libio/oldiofsetpos64.c: Likewise.
* libio/oldiopopen.c: Likewise.
* libio/oldstdfiles.c: Likewise.
* libio/putc.c: Likewise.
* libio/setbuf.c: Likewise.
* libio/setlinebuf.c: Likewise.
* libio/stdfiles.c: Likewise.
* libio/stdio.c: Likewise.
* libio/strops.c: Likewise.
* libio/vasprintf.c: Likewise.
* libio/vscanf.c: Likewise.
* libio/vsnprintf.c: Likewise.
* libio/vswprintf.c: Likewise.
* libio/wfiledoalloc.c: Likewise.
* libio/wfileops.c: Likewise.
* libio/wgenops.c: Likewise.
* libio/wstrops.c: Likewise.
* malloc/mtrace.c: Likewise.
* misc/error.c: Likewise.
* misc/syslog.c: Likewise.
* nss/getXXbyYY_r.c: Likewise.
* nss/getXXent_r.c: Likewise.
* nss/hosts-lookup.c: Likewise.
* stdio-common/getw.c
* stdio-common/printf-prs.c: Likewise.
* stdio-common/printf_fp.c: Likewise.
* stdio-common/printf_size.c: Likewise.
* stdio-common/putw.c: Likewise.
* stdio-common/scanf.c: Likewise.
* stdio-common/sprintf.c: Likewise.
* stdio-common/tmpfile64.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* stdio-common/vfscanf.c: Likewise.
* stdlib/strfmon.c: Likewise.
* sunrpc/auth_des.c: Likewise.
* sunrpc/auth_none.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/authdes_prot.c: Likewise.
* sunrpc/authuxprot.c: Likewise.
* sunrpc/clnt_perr.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/clnt_udp.c: Likewise.
* sunrpc/clnt_unix.c: Likewise.
* sunrpc/key_call.c: Likewise.
* sunrpc/key_prot.c: Likewise.
* sunrpc/openchild.c: Likewise.
* sunrpc/pm_getmaps.c: Likewise.
* sunrpc/pm_getport.c: Likewise.
* sunrpc/pmap_clnt.c: Likewise.
* sunrpc/pmap_prot.c: Likewise.
* sunrpc/pmap_prot2.c: Likewise.
* sunrpc/pmap_rmt.c: Likewise.
* sunrpc/rpc_cmsg.c: Likewise.
* sunrpc/rpc_prot.c: Likewise.
* sunrpc/svc_authux.c: Likewise.
* sunrpc/svc_raw.c: Likewise.
* sunrpc/svc_simple.c: Likewise.
* sunrpc/svc_tcp.c: Likewise.
* sunrpc/svc_udp.c: Likewise.
* sunrpc/svc_unix.c: Likewise.
* sunrpc/xdr.c: Likewise.
* sunrpc/xdr_array.c: Likewise.
* sunrpc/xdr_mem.c: Likewise.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/xdr_ref.c: Likewise.
* sunrpc/xdr_stdio.c: Likewise.
* sysdeps/generic/_strerror.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* sysdeps/generic/tmpfile.c: Likewise.
* sysdeps/gnu/errlist.awk: Likewise.
* sysdeps/gnu/errlist.c: Likewise.
* libio/Makefile (routines): Remove iosprint.
* libio/iosprintf.c: Removed
|
|
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.
|
|
2002-01-07 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_file_underflow_mmap): New function.
(_IO_file_close_mmap): New function.
(_IO_file_jumps_mmap): New variable.
* libio/wfileops.c (_IO_wfile_underflow): Reset read pointer before
trying to convert rest of byte buffer.
(_IO_wfile_underflow_mmap): New function.
(_IO_wfile_jumps_mmap): New variable.
* libio/iofopen.c (__fopen_maybe_mmap): New function.
(__fopen_internal): New function. Split out from _IO_new_fopen.
(_IO_new_fopen): Call __fopen_internal.
* libio/iofopen64.c: Just call __fopen_internal.
* libio/iofdopen.c: Call __fopen_maybe_mmap before returning
successfully.
* libio/iolibio.h: Declare __fopen_internal and __fopen_maybe_mmap.
* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps_mmap,
_IO_file_close_mmap.
* sysdeps/gnu/_G_config.h: Define _G_MMAP64.
* sysdeps/unix/sysv/linux/cris/_G_config.h: Likewise.
* stdio-common/Makefile (tests): Add tst-rndseek.
* stdio-common/tst-rndseek.c: New file.
|
|
2001-08-09 Ulrich Drepper <drepper@redhat.com>
* libio/wfileops.c (_IO_wfile_seekoff): Don't even try to handle
seeking with backup buffer present.
Correct determining of internal buffer position.
Reset also wide buffers if we reset the internal buffers.
* libio/iofwide.c (_IO_fwide): Always determine file offset for wide
streams.
* libio/ioseekoff.c: Catch one unimplemented case.
* libio/ftello.c: Don't abort if the wide stream has backup buffer.
* libio/ftello64.c: Likewise.
* libio/iofgetpos.c: Likewise.
* libio/iofgetpos64.c: Likewise.
* libio/ftell.c: Likewise.
* libio/Makefile (tests): Add tst-ungetwc2.
* libio/tst-ungetwc2.c: New file.
|
|
* 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-08-04 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_new_file_underflow): Don't call
_IO_flush_all_linebuffered. This isn't required in any standard.
Instead flush only stdout.
* libio/wfileops.c (_IO_wfile_underflow): 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.
|
|
2000-08-13 Ulrich Drepper <drepper@redhat.com>
Benjamin Koznik <bkoz@redhat.com>
* libio/fileops.c: Merge with libstdc++-v3.
* libio/genops.c: Likewise.
* libio/iofclose.c: Likewise.
* libio/iofopen.c: Likewise.
* libio/iofwide.c: Likewise.
* libio/libio.h: Likewise.
* libio/libioP.h: Likewise.
* libio/stdfiles.c: Likewise.
* libio/stdio.c: Likewise.
* libio/wfileops.c: Likewise.
* libio/wgenops.c: Likewise.
* libio/Versions: Export functions needed by libstdc++-v3 in GLIBC_2.2.
|
|
|
|
2000-08-03 Ulrich Drepper <drepper@redhat.com>
* libio/iofwide.c (_IO_fwide): Initialize fp->_codecvt as well.
* libio/fileops.c (_IO_new_file_fopen): Use _codecvt not from
_wide_data but from _IO_FILE directly.
* libio/iofclose.c: Likewise.
* libio/wfileops.c: Likewise.
* libio/genops.c (_IO_default_showmanyc): Change return type to size_t.
* libio/libioP.h: Change prototypes.
|
|
|
|
* libio/wfileops.c (_IO_wdo_write): Correct return value.
|
|
2000-07-25 Ulrich Drepper <drepper@redhat.com>
* libio/wfileops.c (_IO_wdo_write): Allow partial conversions in the
loop.
* libio/fileops.c: Pretty print.
|