kernel32: GetLongPathName should fail when called with a wildcard.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3a78ec672a
commit
ccf9b18ea0
|
@ -297,6 +297,8 @@ DWORD WINAPI GetLongPathNameW( LPCWSTR shortpath, LPWSTR longpath, DWORD longlen
|
|||
HANDLE goit;
|
||||
BOOL is_legal_8dot3;
|
||||
|
||||
TRACE("%s,%p,%u\n", debugstr_w(shortpath), longpath, longlen);
|
||||
|
||||
if (!shortpath)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
|
@ -308,8 +310,6 @@ DWORD WINAPI GetLongPathNameW( LPCWSTR shortpath, LPWSTR longpath, DWORD longlen
|
|||
return 0;
|
||||
}
|
||||
|
||||
TRACE("%s,%p,%d\n", debugstr_w(shortpath), longpath, longlen);
|
||||
|
||||
if (shortpath[0] == '\\' && shortpath[1] == '\\')
|
||||
{
|
||||
FIXME("UNC pathname %s\n", debugstr_w(shortpath));
|
||||
|
@ -333,6 +333,12 @@ DWORD WINAPI GetLongPathNameW( LPCWSTR shortpath, LPWSTR longpath, DWORD longlen
|
|||
lp = sp = 2;
|
||||
}
|
||||
|
||||
if (strpbrkW(shortpath + sp, wildcardsW))
|
||||
{
|
||||
SetLastError(ERROR_INVALID_NAME);
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (shortpath[sp])
|
||||
{
|
||||
/* check for path delimiters and reproduce them */
|
||||
|
|
|
@ -1202,9 +1202,7 @@ static void test_GetLongPathNameA(void)
|
|||
strcpy(name, "*");
|
||||
SetLastError(0xdeadbeef);
|
||||
length = pGetLongPathNameA(tempfile, temppath, MAX_PATH);
|
||||
todo_wine
|
||||
ok(!length, "GetLongPathNameA should fail\n");
|
||||
todo_wine
|
||||
ok(GetLastError() == ERROR_INVALID_NAME, "wrong error %d\n", GetLastError());
|
||||
|
||||
strcpy(name, "longfilename.longext");
|
||||
|
|
Loading…
Reference in New Issue