Module: wine Branch: master Commit: 77ec614ac4630eed384d24895503372817007720 URL: http://source.winehq.org/git/wine.git/?a=commit;h=77ec614ac4630eed384d248955...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Dec 22 11:11:03 2015 +0100
msvcp110: Always return empty string in _Read_dir on end of enumeration or error.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcp90/ios.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c index 7440aff..6a75476 100644 --- a/dlls/msvcp90/ios.c +++ b/dlls/msvcp90/ios.c @@ -14483,18 +14483,16 @@ void* __cdecl tr2_sys__Open_dir(char* target, char const* dest, int* err_code, e char* __cdecl tr2_sys__Read_dir(char* target, void* handle, enum file_type* type) { WIN32_FIND_DATAA data; + TRACE("(%p %p %p)\n", target, handle, type); - if(!FindNextFileA(handle, &data)) { - *type = status_unknown; - *target = '\0'; - return target; - } - while(!strcmp(data.cFileName, ".") || !strcmp(data.cFileName, "..")) { + + do { if(!FindNextFileA(handle, &data)) { *type = status_unknown; - return NULL; + *target = '\0'; + return target; } - } + } while(!strcmp(data.cFileName, ".") || !strcmp(data.cFileName, ".."));
strcpy(target, data.cFileName); if(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)