msvcrt: fread: fill buffer on small reads
Markus Amsler
markus.amsler at oribi.org
Wed Oct 11 04:55:59 CDT 2006
Duane Clark wrote:
> Alexandre Julliard wrote:
>> Markus Amsler <markus.amsler at oribi.org> writes:
>>
>>>
>>> + /* fill empty buffer on small reads */
>>> + if(!file->_cnt && rcnt <= MSVCRT_BUFSIZ) {
>>> + MSVCRT__filbuf(file);
>>> + /* reset internal buffer */
>>> + file->_cnt++;
>>> + file->_ptr = file->_base;
>>> + }
>>
>> You need to handle errors properly, and MSVCRT__filbuf is probably not
>> the most appropriate thing to use here, a simple read would be
>> better.
>>
>
> Are you referring to _read() or read_i()? Those don't have an
> associated internal file buffer/cache (I guess because they don't have
> an associated file->_cnt and _ptr). Or were you referring to some
> other read call?
>
> fread already does a _read() once it determines the current buffer is
> empty.
I'm also not sure which read you mean. But i assumed some sort of
stripped down inline MSVCRT__filbuf with read_i.
Markus
More information about the wine-devel
mailing list