mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-02 12:03:45 +00:00
user32: Put 0 to output string even for 1 char buffer in LoadStringW().
This commit is contained in:
parent
726027d601
commit
ad9303d888
2 changed files with 12 additions and 10 deletions
|
@ -185,17 +185,10 @@ INT WINAPI DECLSPEC_HOTPATCH LoadStringW( HINSTANCE instance, UINT resource_id,
|
|||
}
|
||||
|
||||
i = min(buflen - 1, *p);
|
||||
if (i > 0) {
|
||||
memcpy(buffer, p + 1, i * sizeof (WCHAR));
|
||||
buffer[i] = 0;
|
||||
} else {
|
||||
if (buflen > 1) {
|
||||
buffer[0] = 0;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
memcpy(buffer, p + 1, i * sizeof(WCHAR));
|
||||
buffer[i] = 0;
|
||||
|
||||
TRACE("%s loaded !\n", debugstr_w(buffer));
|
||||
TRACE("returning %s\n", debugstr_w(buffer));
|
||||
return i;
|
||||
}
|
||||
|
||||
|
|
|
@ -147,6 +147,15 @@ static void test_LoadStringW(void)
|
|||
"got %lu.\n", GetLastError());
|
||||
ok(!returnedstringw[0], "got %#x.\n", returnedstringw[0]);
|
||||
ok(returnedstringw[1] == 0xcccc, "got %#x.\n", returnedstringw[1]);
|
||||
|
||||
/* Test short buffer */
|
||||
SetLastError(0xdeadbeef);
|
||||
memset(returnedstringw, 0xcc, sizeof(returnedstringw));
|
||||
length1 = LoadStringW(hInst, 2, returnedstringw, 1); /* get resource string */
|
||||
ok(!length1, "got %d.\n", length1);
|
||||
ok(GetLastError() == 0xdeadbeef, "got %lu.\n", GetLastError());
|
||||
ok(!returnedstringw[0], "got %#x.\n", returnedstringw[0]);
|
||||
ok(returnedstringw[1] == 0xcccc, "got %#x.\n", returnedstringw[1]);
|
||||
}
|
||||
|
||||
static void test_LoadStringA (void)
|
||||
|
|
Loading…
Reference in a new issue