Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jul 2014 19:55:25 +0000 (UTC)
From:      "Andrey A. Chernov" <ache@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r268991 - head/lib/libc/stdio
Message-ID:  <201407221955.s6MJtPYt069936@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407221955.s6MJtPYt069936>