user32: Make LoadStringW pass tests.
diff --git a/dlls/crypt32/oid.c b/dlls/crypt32/oid.c
index 5d17997..980c750 100644
--- a/dlls/crypt32/oid.c
+++ b/dlls/crypt32/oid.c
@@ -1402,8 +1402,9 @@
}
else
{
+ LPCWSTR stringresource;
int len = LoadStringW(hinst, (UINT_PTR)oidInfoConstructors[i].pwszName,
- NULL, 0);
+ (LPWSTR)&stringresource, 0);
if (len)
{
@@ -1415,12 +1416,11 @@
memset(info, 0, sizeof(*info));
info->info.cbSize = sizeof(CRYPT_OID_INFO);
info->info.pszOID = oidInfoConstructors[i].pszOID;
- info->info.pwszName =
- (LPWSTR)((LPBYTE)info + sizeof(struct OIDInfo));
+ info->info.pwszName = (LPWSTR)(info + 1);
info->info.dwGroupId = oidInfoConstructors[i].dwGroupId;
info->info.u.Algid = oidInfoConstructors[i].Algid;
- LoadStringW(hinst, (UINT_PTR)oidInfoConstructors[i].pwszName,
- (LPWSTR)info->info.pwszName, len + 1);
+ memcpy(info + 1, stringresource, len*sizeof(WCHAR));
+ ((LPWSTR)(info + 1))[len] = 0;
if (oidInfoConstructors[i].blob)
{
info->info.ExtraInfo.cbData =