From 60501aa93e506e8a36504d6cf325f480c619577f Mon Sep 17 00:00:00 2001 From: Erik de Castro Lopo Date: Tue, 8 Apr 2008 21:53:53 +1000 Subject: [PATCH] msvcrt: Clear end-of-file flag on fseek. --- dlls/msvcrt/file.c | 2 ++ dlls/msvcrt/tests/file.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 0c1e84bc34d..866d28d2604 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -918,6 +918,8 @@ int CDECL MSVCRT_fseek(MSVCRT_FILE* file, long offset, int whence) if(file->_flag & MSVCRT__IORW) { file->_flag &= ~(MSVCRT__IOREAD|MSVCRT__IOWRT); } + /* Clear end of file flag */ + file->_flag &= ~MSVCRT__IOEOF; return (_lseek(file->_file,offset,whence) == -1)?-1:0; } diff --git a/dlls/msvcrt/tests/file.c b/dlls/msvcrt/tests/file.c index d406ae500cc..aa58a329c65 100644 --- a/dlls/msvcrt/tests/file.c +++ b/dlls/msvcrt/tests/file.c @@ -241,7 +241,7 @@ static void test_readmode( BOOL ascii_mode ) ok(fread(buffer,1,1,file)==0,"fread failure in %s\n", IOMODE); ok(feof(file)!=0,"feof failure in %s\n", IOMODE); ok(fseek(file,-3,SEEK_CUR)==0,"seek failure in %s\n", IOMODE); - todo_wine ok(feof(file)==0,"feof failure in %s\n", IOMODE); + ok(feof(file)==0,"feof failure in %s\n", IOMODE); ok(fread(buffer,2,1,file)==1,"fread failed in %s\n", IOMODE); ok(feof(file)==0,"feof failure in %s\n", IOMODE); ok(fread(buffer,2,1,file)==0,"fread failure in %s\n",IOMODE);