summaryrefslogtreecommitdiff
path: root/lib/fflush.c
diff options
context:
space:
mode:
authorKevin Cernekee <cernekee@google.com>2015-02-11 15:22:49 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2015-02-11 15:47:44 -0800
commit8e19825e65924c36535bf70e21c26d2cbc6076ac (patch)
tree8ea1b71d6f4a96264acae6e3d7af7814c86aafee /lib/fflush.c
parent6e0e31c383c86e297bfbb8dae89515b0587a1b15 (diff)
downloadgnulib-8e19825e65924c36535bf70e21c26d2cbc6076ac.tar.gz
Fix FILE struct compatibility with Android API level >= 21
* lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of __sferror. Recent versions of Bionic's stdio.h no longer define __sferror. * lib/fbufmode.c: Likewise. * lib/fflush.c: Likewise. * lib/fpurge.c: Likewise. * lib/freadable.c: Likewise. * lib/freadahead.c: Likewise. * lib/freading.c: Likewise. * lib/freadptr.c: Likewise. * lib/freadseek.c: Likewise. * lib/fseeko.c: Likewise. * lib/fseterr.c: Likewise. * lib/fwritable.c: Likewise. * lib/fwriting.c: Likewise.
Diffstat (limited to 'lib/fflush.c')
-rw-r--r--lib/fflush.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/fflush.c b/lib/fflush.c
index 4b43a323e7..5ae3e41793 100644
--- a/lib/fflush.c
+++ b/lib/fflush.c
@@ -50,7 +50,8 @@ clear_ungetc_buffer_preserving_position (FILE *fp)
static void
clear_ungetc_buffer (FILE *fp)
{
-# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+# if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
if (HASUB (fp))
{
fp_->_p += fp_->_r;
@@ -73,7 +74,8 @@ clear_ungetc_buffer (FILE *fp)
#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-# if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
static int
disable_seek_optimization (FILE *fp)
@@ -95,7 +97,8 @@ static void
update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER,
off_t pos _GL_UNUSED_PARAMETER)
{
-# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+# if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
# if defined __CYGWIN__
/* fp_->_offset is typed as an integer. */
fp_->_offset = pos;
@@ -195,7 +198,8 @@ rpl_fflush (FILE *stream)
return result;
}
-# if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
{
/* Disable seek optimization for the next fseeko call. This tells the