From: Ulrich Drepper Date: Tue, 9 Nov 2004 07:04:08 +0000 (+0000) Subject: (_IO_new_file_seekoff): If mode is 0 and fp->_offset == _IO_pos_BAD, just call _IO_SY... X-Git-Tag: upstream/2.30~17214 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eca29725d15f200f3eb8b106bb7bac3fb687fa74;p=external%2Fglibc.git (_IO_new_file_seekoff): If mode is 0 and fp->_offset == _IO_pos_BAD, just call _IO_SYSSEEK (fp, 0, dir) and if successful set fp->_offset. --- diff --git a/libio/fileops.c b/libio/fileops.c index 08eff0a..2d787d2 100644 --- a/libio/fileops.c +++ b/libio/fileops.c @@ -989,7 +989,18 @@ _IO_new_file_seekoff (fp, offset, dir, mode) /* Adjust for read-ahead (bytes is buffer). */ offset -= fp->_IO_read_end - fp->_IO_read_ptr; if (fp->_offset == _IO_pos_BAD) - goto dumb; + { + if (mode != 0) + goto dumb; + else + { + result = _IO_SYSSEEK (fp, 0, dir); + if (result == EOF) + return result; + + fp->_offset = result; + } + } /* Make offset absolute, assuming current pointer is file_ptr(). */ offset += fp->_offset; if (offset < 0)