summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2014-07-22 19:55:25 +0000
committerache <ache@FreeBSD.org>2014-07-22 19:55:25 +0000
commit1c7fcde2d931e077cf96fa311598314538ac227c (patch)
tree316af4746eb2cff3046e6bbe60a5d5c20f749eed /lib
parent8a530385ea349a51426fa1f07f2887f0c6c0d0f6 (diff)
downloadFreeBSD-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.c3
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);
OpenPOWER on IntegriCloud