diff options
author | ache <ache@FreeBSD.org> | 2014-07-22 19:55:25 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2014-07-22 19:55:25 +0000 |
commit | 1c7fcde2d931e077cf96fa311598314538ac227c (patch) | |
tree | 316af4746eb2cff3046e6bbe60a5d5c20f749eed /lib | |
parent | 8a530385ea349a51426fa1f07f2887f0c6c0d0f6 (diff) | |
download | FreeBSD-src-1c7fcde2d931e077cf96fa311598314538ac227c.zip FreeBSD-src-1c7fcde2d931e077cf96fa311598314538ac227c.tar.gz |
Checking for __SAPP alone is not enough because it is emulated O_APPEND
only, so works for only special fdopen() case. Add real O_APPEND too.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/stdio/ftell.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/stdio/ftell.c b/lib/libc/stdio/ftell.c index 7259e72..258adb9 100644 --- a/lib/libc/stdio/ftell.c +++ b/lib/libc/stdio/ftell.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" #include <sys/types.h> #include <errno.h> +#include <fcntl.h> #include <limits.h> #include <stdio.h> #include "un-namespace.h" @@ -118,7 +119,7 @@ _ftello(FILE *fp, fpos_t *offset) if (HASUB(fp)) pos -= fp->_r; /* Can be negative at this point. */ } else if ((fp->_flags & __SWR) && fp->_p != NULL) { - if (fp->_flags & __SAPP) { + if (fp->_flags & (__SAPP|O_APPEND)) { pos = _sseek(fp, (fpos_t)0, SEEK_END); if (pos == -1) return (1); |