Update urandom.nim for 2.0.0

It's backwards compatible with Nim < 2.0.0
This commit is contained in:
Joey Yakimowich-Payne 2023-12-13 19:57:04 -07:00 • committed by GitHub
commit 740deeef9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -12,16 +12,22 @@ when defined(windows):
{.push, stdcall, dynlib: "Advapi32.dll".} {.push, stdcall, dynlib: "Advapi32.dll".}
when useWinUnicode: when (NimMajor, NimMinor, NimPatch) < (2, 0, 0):
when useWinUnicode:
proc CryptAcquireContext(
phProv: ptr HCRYPTPROV, pszContainer: WideCString,
pszProvider: WideCString, dwProvType: DWORD, dwFlags: DWORD
): WINBOOL {.importc: "CryptAcquireContextW".}
else:
proc CryptAcquireContext(
phProv: ptr HCRYPTPROV, pszContainer: cstring, pszProvider: cstring,
dwProvType: DWORD, dwFlags: DWORD
): WINBOOL {.importc: "CryptAcquireContextA".}
else:
proc CryptAcquireContext( proc CryptAcquireContext(
phProv: ptr HCRYPTPROV, pszContainer: WideCString, phProv: ptr HCRYPTPROV, pszContainer: WideCString,
pszProvider: WideCString, dwProvType: DWORD, dwFlags: DWORD pszProvider: WideCString, dwProvType: DWORD, dwFlags: DWORD
): WINBOOL {.importc: "CryptAcquireContextW".} ): WINBOOL {.importc: "CryptAcquireContextW".}
else:
proc CryptAcquireContext(
phProv: ptr HCRYPTPROV, pszContainer: cstring, pszProvider: cstring,
dwProvType: DWORD, dwFlags: DWORD
): WINBOOL {.importc: "CryptAcquireContextA".}
proc CryptGenRandom( proc CryptGenRandom(
hProv: HCRYPTPROV, dwLen: DWORD, pbBuffer: pointer hProv: HCRYPTPROV, dwLen: DWORD, pbBuffer: pointer