Module: wine Branch: master Commit: d71a60378df9d2cd89c19d3231e8f4c40a94c953 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d71a60378df9d2cd89c19d3231...
Author: Dan Kegel dank@kegel.com Date: Wed Jan 28 23:32:18 2009 -0800
winedos: Get File Attributes must fail for files with names ending in slash.
---
dlls/winedos/int21.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/winedos/int21.c b/dlls/winedos/int21.c index b8a1163..140885c 100644 --- a/dlls/winedos/int21.c +++ b/dlls/winedos/int21.c @@ -2028,12 +2028,19 @@ static BOOL INT21_FileAttributes( CONTEXT86 *context, FILETIME filetime; DWORD result; WORD date, time; + int len;
switch (subfunction) { case 0x00: /* GET FILE ATTRIBUTES */ TRACE( "GET FILE ATTRIBUTES for %s\n", fileA ); - MultiByteToWideChar(CP_OEMCP, 0, fileA, -1, fileW, MAX_PATH); + len = MultiByteToWideChar(CP_OEMCP, 0, fileA, -1, fileW, MAX_PATH); + + /* Winbench 96 Disk Test fails if we don't complain + * about a filename that ends in \ + */ + if (!len || (fileW[len-1] == '/') || (fileW[len-1] == '\')) + return FALSE;
result = GetFileAttributesW( fileW ); if (result == INVALID_FILE_ATTRIBUTES)