Bug in MSVCRT_fseek (with patch)
Kirill K. Smirnov
lich at math.spbu.ru
Fri Apr 4 06:36:54 CDT 2008
Hi,
> A successful call to fseek() shall clear the end-of-file indicator
> for the stream and undo any effects of ungetc() and ungetwc() on
> the same stream. After an fseek() call, the next operation on an
> update stream may be either input or output.
> }
>+ /* Clear end of file */
>+ file->_flag &= ~MSVCRT__IOEOF;
> return (_lseek(file->_file,offset,whence) == -1)?-1:0;
What if you try to fseek to the end of file (SEEK_END)? Should IOEOF flag be
cleared in this case? And may _lseek() function be better place for this?
Current _lseeki64() implementation contains FIXME concerning the same issue:
MSVCRT_fdesc[fd].wxflag &= ~(WX_ATEOF|WX_READEOF);
/* FIXME: What if we seek _to_ EOF - is EOF set? */
--
Kirill
More information about the wine-devel
mailing list