nicolas-cellier-aka-nice commented on this pull request.
WCHAR buffer[256];
DWORD memSize;
/* Argh. It seems that the registry key regularly starts with \Registry\Machine\ which doesn't work with RegOpenKey below. I have no idea why but for now I'll just truncate that part if we recognize it... */ - if (_strnicmp(keyName, "\registry\machine\", 18) == 0) { - memcpy(keyName, keyName+18, strlen(keyName)-17); + if (_wcsnicmp(keyName, L"\registry\machine\", 18) == 0) { + memmove(keyName, keyName+18*sizeof(WCHAR), (wcslen(keyName)-17)*sizeof(WCHAR));
Err: `keyName` is `WCHAR*`, `keyName+18` skips 18 characters, `keyName+18*sizeof(WCHAR)` skips 36 characters!