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;
|
HANDLE goit;
|
||||||
BOOL is_legal_8dot3;
|
BOOL is_legal_8dot3;
|
||||||
|
|
||||||
|
TRACE("%s,%p,%u\n", debugstr_w(shortpath), longpath, longlen);
|
||||||
|
|
||||||
if (!shortpath)
|
if (!shortpath)
|
||||||
{
|
{
|
||||||
SetLastError(ERROR_INVALID_PARAMETER);
|
SetLastError(ERROR_INVALID_PARAMETER);
|
||||||
|
@ -308,8 +310,6 @@ DWORD WINAPI GetLongPathNameW( LPCWSTR shortpath, LPWSTR longpath, DWORD longlen
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE("%s,%p,%d\n", debugstr_w(shortpath), longpath, longlen);
|
|
||||||
|
|
||||||
if (shortpath[0] == '\\' && shortpath[1] == '\\')
|
if (shortpath[0] == '\\' && shortpath[1] == '\\')
|
||||||
{
|
{
|
||||||
FIXME("UNC pathname %s\n", debugstr_w(shortpath));
|
FIXME("UNC pathname %s\n", debugstr_w(shortpath));
|
||||||
|
@ -333,6 +333,12 @@ DWORD WINAPI GetLongPathNameW( LPCWSTR shortpath, LPWSTR longpath, DWORD longlen
|
||||||
lp = sp = 2;
|
lp = sp = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strpbrkW(shortpath + sp, wildcardsW))
|
||||||
|
{
|
||||||
|
SetLastError(ERROR_INVALID_NAME);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
while (shortpath[sp])
|
while (shortpath[sp])
|
||||||
{
|
{
|
||||||
/* check for path delimiters and reproduce them */
|
/* check for path delimiters and reproduce them */
|
||||||
|
|
|
@ -1202,9 +1202,7 @@ static void test_GetLongPathNameA(void)
|
||||||
strcpy(name, "*");
|
strcpy(name, "*");
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
length = pGetLongPathNameA(tempfile, temppath, MAX_PATH);
|
length = pGetLongPathNameA(tempfile, temppath, MAX_PATH);
|
||||||
todo_wine
|
|
||||||
ok(!length, "GetLongPathNameA should fail\n");
|
ok(!length, "GetLongPathNameA should fail\n");
|
||||||
todo_wine
|
|
||||||
ok(GetLastError() == ERROR_INVALID_NAME, "wrong error %d\n", GetLastError());
|
ok(GetLastError() == ERROR_INVALID_NAME, "wrong error %d\n", GetLastError());
|
||||||
|
|
||||||
strcpy(name, "longfilename.longext");
|
strcpy(name, "longfilename.longext");
|
||||||
|
|
Loading…
Reference in New Issue