diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | libio/genops.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 6eab21a2f0..a2f3c66c43 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-10-23 Ulrich Drepper <drepper@cygnus.com> + + * libio/genops.c (_IO_seekmark): When switching to backup buffer + make sure all characters from the read buffer are read after + switching back to it. + 1998-10-22 Ulrich Drepper <drepper@cygnus.com> * configure.in: Add support for Cygnus GNUPro compilers. diff --git a/libio/genops.c b/libio/genops.c index c75be6234b..b1ccb289b3 100644 --- a/libio/genops.c +++ b/libio/genops.c @@ -94,7 +94,7 @@ _IO_switch_to_main_get_area (fp) tmp = fp->_IO_read_base; fp->_IO_read_base = fp->_IO_save_base; fp->_IO_save_base = tmp; - /* Swap _IO_read_base and _IO_save_ptr. */ + /* Swap _IO_read_ptr and _IO_save_ptr. */ tmp = fp->_IO_read_ptr; fp->_IO_read_ptr = fp->_IO_save_ptr; fp->_IO_save_ptr = tmp; @@ -817,7 +817,10 @@ _IO_seekmark (fp, mark, delta) else { if (!_IO_in_backup (fp)) - _IO_switch_to_backup_area (fp); + { + fp->_IO_read_ptr = fp->_IO_read_base; + _IO_switch_to_backup_area (fp); + } fp->_IO_read_ptr = fp->_IO_read_end + mark->_pos; } return 0; |