diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 2001-10-24 17:25:49 +0000 |
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 2001-10-24 17:25:49 +0000 |
| commit | e41febc84bf8630e945f4e839c04fde106509681 (patch) | |
| tree | f96fc1ff02277fb89f03d5cd3347ce2e36bfdb75 /lib/libc/stdio/stdio.c | |
| parent | a55dfa2ac19ccc2fafacabc5d382b4f5e0ff5391 (diff) | |
Notes
Diffstat (limited to 'lib/libc/stdio/stdio.c')
| -rw-r--r-- | lib/libc/stdio/stdio.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/libc/stdio/stdio.c b/lib/libc/stdio/stdio.c index 4bee60804d4a..7f66fa8ab591 100644 --- a/lib/libc/stdio/stdio.c +++ b/lib/libc/stdio/stdio.c @@ -171,6 +171,13 @@ _sseek(fp, offset, whence) */ if (ret < 0) { if (errret == 0) { + if (offset != 0 || whence != SEEK_CUR) { + if (HASUB(fp)) + FREEUB(fp); + fp->_p = fp->_bf._base; + fp->_r = 0; + fp->_flags &= ~__SEOF; + } fp->_flags |= __SERR; errno = EINVAL; } else if (errret == ESPIPE) |
