]> xenbits.xensource.com Git - people/liuw/freebsd.git/commitdiff
1) Remove my overcomplicated error fallback and just return error
authorache <ache@FreeBSD.org>
Thu, 12 Nov 2015 22:24:39 +0000 (22:24 +0000)
committerache <ache@FreeBSD.org>
Thu, 12 Nov 2015 22:24:39 +0000 (22:24 +0000)
immediatelly as old code does, now for append modes too.
Real use case for such fallback is impossible (unless specially crafted).

2) Remove now unneded include I forgot to remove in prev. commits.

MFC after:      1 week

lib/libc/stdio/ftell.c

index f0e244bbbbb9129f4352f2cdece83ac19714d97b..fc792af5fa2263dedb3f916cb93a4c33687be209 100644 (file)
@@ -39,7 +39,6 @@ __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"
@@ -101,16 +100,9 @@ _ftello(FILE *fp, fpos_t *offset)
        if (!(fp->_flags & __SRD) && (fp->_flags & __SWR) &&
            fp->_p != NULL && fp->_p - fp->_bf._base > 0 &&
            ((fp->_flags & __SAPP) || (fp->_flags2 & __S2OAP))) {
-               if ((pos = _sseek(fp, (fpos_t)0, SEEK_END)) == -1) {
-                       if (errno == ESPIPE ||
-                           (fp->_flags & __SOPT) || __sflush(fp) ||
-                           (pos = _sseek(fp, (fpos_t)0, SEEK_CUR)) == -1)
-                               return (1);
-                       else {
-                               *offset = pos;
-                               return (0);
-                       }
-               }
+               pos = _sseek(fp, (fpos_t)0, SEEK_END);
+               if (pos == -1)
+                       return (1);
        } else if (fp->_flags & __SOFF)
                pos = fp->_offset;
        else {