summaryrefslogtreecommitdiff
path: root/libio
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-08-20 23:06:56 +0000
committerUlrich Drepper <drepper@redhat.com>1998-08-20 23:06:56 +0000
commit1ddf537f074f453f4d8b70c1b5df3f9ac728bec4 (patch)
tree53bd0b17132f0b094107e7decca8a1ad39008526 /libio
parent0695b00cef7d8349bc16e61e62189f185926fdff (diff)
downloadglibc-1ddf537f074f453f4d8b70c1b5df3f9ac728bec4.tar.gz
Update.
1998-08-20 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (sh-ldd-rewrite): Remove expression to remove BASH-ONLY marked region. * elf/ldd.bash.in: Remove special BASH-ONLY markers. 1998-02-20 17:54 H.J. Lu <hjl@gnu.org> * libio/oldfileops.c (_IO_file_seekoff): Don't adjust pointers if _IO_SYSSEEK fails. * libio/iolibio.h (_IO_pos_BAD): Define of type _IO_fpos64_t. * libio/oldfileops.c (FILEBUF_LITERAL): Also initialize new _offset element.
Diffstat (limited to 'libio')
-rw-r--r--libio/libioP.h19
-rw-r--r--libio/oldfileops.c10
2 files changed, 22 insertions, 7 deletions
diff --git a/libio/libioP.h b/libio/libioP.h
index 4891294726..004c95ab8d 100644
--- a/libio/libioP.h
+++ b/libio/libioP.h
@@ -552,15 +552,28 @@ extern int _IO_vscanf __P ((const char *, _IO_va_list));
#ifdef _IO_MTSAFE_IO
/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
+# ifdef _IO_USE_OLD_IO_FILE
+# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
{ _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
0, _IO_pos_BAD, 0, 0, { 0 }, &_IO_stdfile_##FD##_lock }
+# else
+# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
+ { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
+ 0, _IO_pos_BAD, 0, 0, { 0 }, &_IO_stdfile_##FD##_lock, _IO_pos_BAD }
+# endif
#else
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
+# ifdef _IO_USE_OLD_IO_FILE
+# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
{ _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, 0, _IO_pos_BAD }
+# else
+# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
+ { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
+ 0, _IO_pos_BAD, 0, 0, { 0 }, &_IO_stdfile_##FD##_lock, _IO_pos_BAD }
+# endif
#endif
/* VTABLE_LABEL defines NAME as of the CLASS class.
diff --git a/libio/oldfileops.c b/libio/oldfileops.c
index 251dc78c6c..ae710b1539 100644
--- a/libio/oldfileops.c
+++ b/libio/oldfileops.c
@@ -583,10 +583,12 @@ _IO_old_file_seekoff (fp, offset, dir, mode)
_IO_unsave_markers (fp);
result = _IO_SYSSEEK (fp, offset, dir);
if (result != EOF)
- _IO_mask_flags (fp, 0, _IO_EOF_SEEN);
- fp->_old_offset = result;
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base);
- _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base);
+ {
+ _IO_mask_flags (fp, 0, _IO_EOF_SEEN);
+ fp->_old_offset = result;
+ _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base);
+ _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base);
+ }
return result;
}