projects
/
debian
/
gzip
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
delete trailing whitespace from control files
[debian/gzip]
/
lib
/
fflush.c
diff --git
a/lib/fflush.c
b/lib/fflush.c
index fa6f389fb94cb7cb5acc5c76f5a59c88e9a2000b..a140b7ad9a06946ed0590ad2ed4499fba8edb412 100644
(file)
--- a/
lib/fflush.c
+++ b/
lib/fflush.c
@@
-1,5
+1,5
@@
/* fflush.c -- allow flushing input streams
/* fflush.c -- allow flushing input streams
- Copyright (C) 2007-201
2
Free Software Foundation, Inc.
+ Copyright (C) 2007-201
8
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-12,7
+12,7
@@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program. If not, see <http
s
://www.gnu.org/licenses/>. */
/* Written by Eric Blake. */
/* Written by Eric Blake. */
@@
-33,10
+33,11
@@
#undef fflush
#undef fflush
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+/* GNU libc, BeOS, Haiku, Linux libc5 */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
-static
inline
void
+static void
clear_ungetc_buffer_preserving_position (FILE *fp)
{
if (fp->_flags & _IO_IN_BACKUP)
clear_ungetc_buffer_preserving_position (FILE *fp)
{
if (fp->_flags & _IO_IN_BACKUP)
@@
-47,10
+48,11
@@
clear_ungetc_buffer_preserving_position (FILE *fp)
#else
/* Clear the stream's ungetc buffer. May modify the value of ftello (fp). */
#else
/* Clear the stream's ungetc buffer. May modify the value of ftello (fp). */
-static
inline
void
+static void
clear_ungetc_buffer (FILE *fp)
{
clear_ungetc_buffer (FILE *fp)
{
-# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+# if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
if (HASUB (fp))
{
fp_->_p += fp_->_r;
if (HASUB (fp))
{
fp_->_p += fp_->_r;
@@
-62,7
+64,7
@@
clear_ungetc_buffer (FILE *fp)
fp->_ungetc_count = 0;
fp->_rcount = - fp->_rcount;
}
fp->_ungetc_count = 0;
fp->_rcount = - fp->_rcount;
}
-# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw,
NonStop Kernel
*/
+# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw,
MSVC, NonStop Kernel, OpenVMS
*/
/* Nothing to do. */
# else /* other implementations */
fseeko (fp, 0, SEEK_CUR);
/* Nothing to do. */
# else /* other implementations */
fseeko (fp, 0, SEEK_CUR);
@@
-71,9
+73,13
@@
clear_ungetc_buffer (FILE *fp)
#endif
#endif
-#if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1)
+/* GNU libc, BeOS, Haiku, Linux libc5 */
-static inline int
+# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
+
+static int
disable_seek_optimization (FILE *fp)
{
int saved_flags = fp_->_flags & (__SOPT | __SNPT);
disable_seek_optimization (FILE *fp)
{
int saved_flags = fp_->_flags & (__SOPT | __SNPT);
@@
-81,23
+87,24
@@
disable_seek_optimization (FILE *fp)
return saved_flags;
}
return saved_flags;
}
-static
inline
void
+static void
restore_seek_optimization (FILE *fp, int saved_flags)
{
fp_->_flags = (fp_->_flags & ~(__SOPT | __SNPT)) | saved_flags;
}
restore_seek_optimization (FILE *fp, int saved_flags)
{
fp_->_flags = (fp_->_flags & ~(__SOPT | __SNPT)) | saved_flags;
}
-#
endif
+#
else
-static
inline
void
+static void
update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER,
off_t pos _GL_UNUSED_PARAMETER)
{
update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER,
off_t pos _GL_UNUSED_PARAMETER)
{
-#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
-# if defined __CYGWIN__
+# if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
+# if defined __CYGWIN__
/* fp_->_offset is typed as an integer. */
fp_->_offset = pos;
/* fp_->_offset is typed as an integer. */
fp_->_offset = pos;
-# else
+#
else
/* fp_->_offset is an fpos_t. */
/* Use a union, since on NetBSD, the compilation flags determine
whether fpos_t is typedef'd to off_t or a struct containing a
/* fp_->_offset is an fpos_t. */
/* Use a union, since on NetBSD, the compilation flags determine
whether fpos_t is typedef'd to off_t or a struct containing a
@@
-109,10
+116,12
@@
update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER,
} u;
u.o = pos;
fp_->_offset = u.f;
} u;
u.o = pos;
fp_->_offset = u.f;
-# endif
+#
endif
fp_->_flags |= __SOFF;
fp_->_flags |= __SOFF;
-#endif
+#
endif
}
}
+# endif
+#endif
/* Flush all pending data on STREAM according to POSIX rules. Both
output and seekable input streams are supported. */
/* Flush all pending data on STREAM according to POSIX rules. Both
output and seekable input streams are supported. */
@@
-141,7
+150,8
@@
rpl_fflush (FILE *stream)
if (stream == NULL || ! freading (stream))
return fflush (stream);
if (stream == NULL || ! freading (stream))
return fflush (stream);
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
clear_ungetc_buffer_preserving_position (stream);
clear_ungetc_buffer_preserving_position (stream);
@@
-191,7
+201,8
@@
rpl_fflush (FILE *stream)
return result;
}
return result;
}
-# if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
{
/* Disable seek optimization for the next fseeko call. This tells the
{
/* Disable seek optimization for the next fseeko call. This tells the