Commit 4610c0a9 authored by György 'Nog' Jeney's avatar György 'Nog' Jeney Committed by Alexandre Julliard

Check for an empty string in DOSFS_FindNextEx to avoid an unnecessary

failure.
parent e65eb614
...@@ -197,6 +197,8 @@ BOOL DOSFS_ToDosFCBFormat( LPCWSTR name, LPWSTR buffer ) ...@@ -197,6 +197,8 @@ BOOL DOSFS_ToDosFCBFormat( LPCWSTR name, LPWSTR buffer )
LPCWSTR p = name; LPCWSTR p = name;
int i; int i;
TRACE("(%s, %p)\n", debugstr_w(name), buffer);
/* Check for "." and ".." */ /* Check for "." and ".." */
if (*p == '.') if (*p == '.')
{ {
...@@ -342,6 +344,8 @@ static int DOSFS_MatchLong( LPCWSTR mask, LPCWSTR name, int case_sensitive ) ...@@ -342,6 +344,8 @@ static int DOSFS_MatchLong( LPCWSTR mask, LPCWSTR name, int case_sensitive )
LPCWSTR next_to_retry = NULL; LPCWSTR next_to_retry = NULL;
static const WCHAR asterisk_dot_asterisk[] = {'*','.','*',0}; static const WCHAR asterisk_dot_asterisk[] = {'*','.','*',0};
TRACE("(%s, %s, %x)\n", debugstr_w(mask), debugstr_w(name), case_sensitive);
if (!strcmpW( mask, asterisk_dot_asterisk )) return 1; if (!strcmpW( mask, asterisk_dot_asterisk )) return 1;
while (*name && *mask) while (*name && *mask)
{ {
...@@ -605,6 +609,9 @@ static BOOL DOSFS_ReadDir( DOS_DIR *dir, LPCWSTR *long_name, ...@@ -605,6 +609,9 @@ static BOOL DOSFS_ReadDir( DOS_DIR *dir, LPCWSTR *long_name,
*short_name = NULL; *short_name = NULL;
dir->used += (strlenW(sn) + 1) * sizeof(WCHAR); dir->used += (strlenW(sn) + 1) * sizeof(WCHAR);
TRACE("Read: long_name: %s, short_name: %s\n",
debugstr_w(*long_name), debugstr_w(*short_name));
return TRUE; return TRUE;
} }
...@@ -1736,7 +1743,7 @@ static int DOSFS_FindNextEx( FIND_FIRST_INFO *info, WIN32_FIND_DATAW *entry ) ...@@ -1736,7 +1743,7 @@ static int DOSFS_FindNextEx( FIND_FIRST_INFO *info, WIN32_FIND_DATAW *entry )
/* Check the long mask */ /* Check the long mask */
if (info->long_mask) if (info->long_mask && *info->long_mask)
{ {
if (!DOSFS_MatchLong( info->long_mask, long_name, if (!DOSFS_MatchLong( info->long_mask, long_name,
flags & DRIVE_CASE_SENSITIVE )) continue; flags & DRIVE_CASE_SENSITIVE )) continue;
...@@ -1824,6 +1831,10 @@ int DOSFS_FindNext( const char *path, const char *short_mask, ...@@ -1824,6 +1831,10 @@ int DOSFS_FindNext( const char *path, const char *short_mask,
UNICODE_STRING short_maskW, long_maskW; UNICODE_STRING short_maskW, long_maskW;
WIN32_FIND_DATAW entryW; WIN32_FIND_DATAW entryW;
TRACE("(%s, %s, %s, %x, %x, %x, %p)\n", debugstr_a(path),
debugstr_a(short_mask), debugstr_a(long_mask), drive, attr, skip,
entry);
_EnterWin16Lock(); _EnterWin16Lock();
RtlCreateUnicodeStringFromAsciiz(&short_maskW, short_mask); RtlCreateUnicodeStringFromAsciiz(&short_maskW, short_mask);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment