[2/2] msvcr90: Implement fread_s.
Piotr Caban
piotr.caban at gmail.com
Wed Dec 21 10:34:49 CST 2011
On 12/21/11 16:49, Kusanagi Kouichi wrote:
> + if (bufsize / size< count)
> + {
> + _invalid_parameter(NULL, NULL, NULL, 0, 0);
> + fseek(fp, bufsize, SEEK_CUR);
It's not correct to make a seek here. The file position changes you're
observing is related to data being read to FILE buffer.
This is also not working in case of small file. invalid_parameter
handler should only be invoked if data is to big to fit into the buffer.
> + /* fread_s raises an exeption if a file was opened by fopen */
Probably you did something wrong here. It's allowed to use fread_s and
fopen (unless there was a broken version of msvcrt90).
> + /* fclose raises an exception if a file was opened by fopen_s */
This doesn't seem right as well.
> + ret = p__fclose_nolock(file);
It should be easy to add a proper implementation of _fclose_nolock.
Piotr
More information about the wine-devel
mailing list