diff options
author | Kevin Cernekee <cernekee@google.com> | 2015-02-11 15:22:49 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-02-11 15:47:44 -0800 |
commit | 8e19825e65924c36535bf70e21c26d2cbc6076ac (patch) | |
tree | 8ea1b71d6f4a96264acae6e3d7af7814c86aafee /lib/fpurge.c | |
parent | 6e0e31c383c86e297bfbb8dae89515b0587a1b15 (diff) | |
download | gnulib-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/fpurge.c')
-rw-r--r-- | lib/fpurge.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/fpurge.c b/lib/fpurge.c index f8ad6926ef..f313b22178 100644 --- a/lib/fpurge.c +++ b/lib/fpurge.c @@ -43,7 +43,8 @@ fpurge (FILE *fp) extern int fpurge (FILE *); # endif int result = fpurge (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 (result == 0) /* Correct the invariants that fpurge broke. <stdio.h> on BSD systems says: @@ -71,7 +72,8 @@ fpurge (FILE *fp) fp->_IO_save_base = NULL; } return 0; -# elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +# elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ fp_->_p = fp_->_bf._base; fp_->_r = 0; fp_->_w = ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ |