cleanup a->w cross calls in advapi32/crypt.c
Dmitry Timoshkov
dmitry at baikal.ru
Sun Aug 1 08:13:44 CDT 2004
"James Hawkins" <truiken at gmail.com> wrote:
> What is left to change?
> - DWORD keytype, type, len;
> + DWORD keytype, type, len, size;
Why do you need new 'size' variable? 'len' works fine.
> - CRYPT_Free(keyname);
> - r = RegQueryValueExA(key, "Name", NULL, &keytype, NULL, &len);
> - if( r != ERROR_SUCCESS || !len || keytype != REG_SZ)
> + CRYPT_Free(keyname);
> + r = RegQueryValueExW(key, nameW, NULL, &keytype, NULL, &size);
Please do not change formatting here and everywhere else, use tab equal
to 8 spaces by default, not 4.
> - r = RegQueryValueExA(key, "Image Path", NULL, &keytype, NULL, &len);
> + size = sizeof(DWORD);
> + r = RegQueryValueExW(key, imagePathW, NULL, &keytype, NULL, &size);
It was already explained. There are another similar cases.
Take into account that CryptEnumProvidersA/W, CryptEnumProviderTypesA/W,
CryptGetDefaultProviderA/W take number of bytes for in/out buffer in all
cases: when making cross calls to them and in internal implementation.
> - if (RegSetValueExA(hKey, "Name", 0, REG_SZ, pszProvName, strlen(pszProvName) +1))
> + if (RegSetValueExW(hKey, nameW, 0, REG_SZ, (LPBYTE)pszProvName, strlenW(pszProvName) +1))
Already was explained.
--
Dmitry.
More information about the wine-devel
mailing list