svn commit: r268991 - head/lib/libc/stdio
Andrey A. Chernov
ache at FreeBSD.org
Tue Jul 22 19:55:26 UTC 2014
Author: ache
Date: Tue Jul 22 19:55:25 2014
New Revision: 268991
URL: http://svnweb.freebsd.org/changeset/base/268991
Log:
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.
Modified:
head/lib/libc/stdio/ftell.c
Modified: head/lib/libc/stdio/ftell.c
==============================================================================
--- head/lib/libc/stdio/ftell.c Tue Jul 22 19:54:22 2014 (r268990)
+++ head/lib/libc/stdio/ftell.c Tue Jul 22 19:55:25 2014 (r268991)
@@ -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);
More information about the svn-src-head
mailing list