summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-04-02 13:55:54 -0400
committerRich Felker <dalias@aerifal.cx>2011-04-02 13:55:54 -0400
commit8de03e1a90e60f62806c488cfa4985f99e869f87 (patch)
treee139eb856b577b4e8f997e02dbcdf0de245d32fc
parent9a909fcd915c65628931dcf6e7b34f261e39e3a3 (diff)
downloadmusl-8de03e1a90e60f62806c488cfa4985f99e869f87.tar.gz
don't disable seeking after first seek failure
this could cause problems if the application uses dup2(fd,fileno(f)) to redirect, and the old fd was not seekable but the new fd is.
-rw-r--r--src/stdio/__stdio_seek.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/src/stdio/__stdio_seek.c b/src/stdio/__stdio_seek.c
index 35ae788c..13e06a66 100644
--- a/src/stdio/__stdio_seek.c
+++ b/src/stdio/__stdio_seek.c
@@ -1,11 +1,5 @@
#include "stdio_impl.h"
-static off_t retneg1(FILE *f, off_t off, int whence)
-{
- errno = ESPIPE;
- return -1;
-}
-
off_t __stdio_seek(FILE *f, off_t off, int whence)
{
off_t ret;
@@ -15,7 +9,5 @@ off_t __stdio_seek(FILE *f, off_t off, int whence)
#else
ret = syscall(SYS_lseek, f->fd, off, whence);
#endif
- /* Detect unseekable files and optimize future failures out */
- if (ret < 0 && errno == ESPIPE) f->seek = retneg1;
return ret;
}