diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-11-05 07:29:40 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-11-05 07:29:40 +0000 |
commit | 2fdeb7ca4f50e84886ddf8c8241e008c2808fe40 (patch) | |
tree | 35e38b9bd9f5d79f95731599f4de7fdd14cdf741 /libio/wfileops.c | |
parent | 0f0d786f5f9b2a6c9b6449ae932b1ea7bdfe1f43 (diff) | |
download | glibc-2fdeb7ca4f50e84886ddf8c8241e008c2808fe40.zip glibc-2fdeb7ca4f50e84886ddf8c8241e008c2808fe40.tar.gz glibc-2fdeb7ca4f50e84886ddf8c8241e008c2808fe40.tar.bz2 |
(_IO_wfile_seekoff): Don't modify _offset and _wide_data->_IO_read_end if adjustment can be made in the current buffer.
Diffstat (limited to 'libio/wfileops.c')
-rw-r--r-- | libio/wfileops.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/libio/wfileops.c b/libio/wfileops.c index 02933b7..38f6ab2 100644 --- a/libio/wfileops.c +++ b/libio/wfileops.c @@ -88,7 +88,7 @@ _IO_wdo_write (fp, data, to_do) if (_IO_new_do_write (fp, fp->_IO_write_base, fp->_IO_write_ptr - fp->_IO_write_base) == EOF) /* Something went wrong. */ - return EOF; + return WEOF; to_do -= new_data - data; @@ -682,12 +682,7 @@ _IO_wfile_seekoff (fp, offset, dir, mode) } while (read_ptr_copy != fp->_IO_read_ptr); - fp->_offset = (fp->_offset - - (fp->_IO_read_end - fp->_IO_read_base) - + rel_offset); - - fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_end - = fp->_wide_data->_IO_read_base; + fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_base; _IO_mask_flags (fp, 0, _IO_EOF_SEEN); goto resync; |