msvcrt: Add support for fflush to clear an input buffer.

This commit is contained in:
Akihiro Sagawa 2012-03-12 21:14:04 +09:00 committed by Alexandre Julliard
parent 09a7f8c196
commit 1a01893c74
2 changed files with 8 additions and 1 deletions

View File

@ -792,6 +792,13 @@ int CDECL MSVCRT_fflush(MSVCRT_FILE* file)
MSVCRT__unlock_file(file);
return res;
} else if(file->_flag & MSVCRT__IOREAD) {
MSVCRT__lock_file(file);
file->_cnt = 0;
file->_ptr = file->_base;
MSVCRT__unlock_file(file);
return 0;
}
return 0;
}

View File

@ -619,7 +619,7 @@ static void test_fflush( void )
ok(ret == 0, "expected 0, got %d\n", ret);
memset(buf2, '?', sizeof(buf2));
fread(buf2, 1, sizeof(buf2), tempfh);
todo_wine ok(memcmp(buf1, buf2, sizeof(buf1)) == 0, "Got unexpected data (%c)\n", buf2[0]);
ok(memcmp(buf1, buf2, sizeof(buf1)) == 0, "Got unexpected data (%c)\n", buf2[0]);
/* fflush(NULL) doesn't clear input buffer. */
_lseek(_fileno(tempfh), 0, SEEK_SET);