advapi32/tests: On Windows 7 GetServiceKeyName() fails for all localized display names.

It's not just the service display names that contain a smart quote
that Windows 7 fails to handle, it's all localized names.

Signed-off-by: Francois Gouget <fgouget@icodeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Francois Gouget 2020-03-22 18:59:20 +01:00 committed by Alexandre Julliard
parent f08abe0811
commit 417814afcb
1 changed files with 2 additions and 13 deletions

View File

@ -720,17 +720,6 @@ static void test_get_displayname(void)
CloseServiceHandle(scm_handle);
}
static int is_printable_ascii_str(const char *s)
{
while (*s)
{
if (*s < 32 || *s >= 127)
return 0;
s++;
}
return 1;
}
static void test_get_servicekeyname(void)
{
SC_HANDLE scm_handle, svc_handle;
@ -872,10 +861,10 @@ static void test_get_servicekeyname(void)
servicesize = 0;
ret = GetServiceKeyNameA(scm_handle, displayname, NULL, &servicesize);
ok(!ret, "Expected failure\n");
if (!is_printable_ascii_str(displayname) &&
if (strcmp(displayname, "Print Spooler") != 0 &&
GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST)
{
win_skip("GetServiceKeyName() does not support non-ASCII display names: %s\n", displayname); /* Windows 7 */
win_skip("GetServiceKeyName() does not support localized display names: %s\n", displayname); /* Windows 7 */
CloseServiceHandle(scm_handle);
return; /* All the tests that follow will fail too */
}