diff --git a/.gitignore b/.gitignore index 528610a..4532471 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +**/uuids + .vscode/.browse.* nimsuggest.log diff --git a/uuids/urandom.nim b/src/urandom.nim similarity index 93% rename from uuids/urandom.nim rename to src/urandom.nim index 6078de4..3666214 100644 --- a/uuids/urandom.nim +++ b/src/urandom.nim @@ -16,16 +16,16 @@ when defined(windows): proc CryptAcquireContext( phProv: ptr HCRYPTPROV, pszContainer: WideCString, 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".} + ): WinBool {.importc: "CryptAcquireContextA".} proc CryptGenRandom( hProv: HCRYPTPROV, dwLen: DWORD, pbBuffer: pointer - ): WINBOOL {.importc: "CryptGenRandom".} + ): WinBool {.importc: "CryptGenRandom".} {.pop.} diff --git a/uuids.nim b/src/uuids.nim similarity index 95% rename from uuids.nim rename to src/uuids.nim index b44ede2..4a1f034 100644 --- a/uuids.nim +++ b/src/uuids.nim @@ -1,6 +1,6 @@ import strutils, hashes import isaac -import uuids/urandom +import urandom type UUID* = object @@ -10,17 +10,16 @@ type template toHex(s: string, start: Natural, x: BiggestInt, len: Positive) = - const HexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', - '9', 'a', 'b', 'c', 'd', 'e', 'f'] + const HexChars = "0123456789abcdef" var n = x for j in countdown(len - 1, 0): - s[start + j] = HexChars[int(n and 0xF)] + s[start + j] = HexChars[n and 0xF] n = n shr 4 # handle negative overflow if n == 0 and x < 0: n = -1 proc uuidsParseHexInt(s: string, maxLen: int): int64 = - if s.len == 0: + if s.isNil or s.len == 0: raise newException(ValueError, "UUID part is empty") if s.len > maxLen or s.len > sizeof(result) * 2: raise newException(ValueError, "UUID part is longer than expected") diff --git a/uuids.nimble b/uuids.nimble index ccc6e86..7a5c79a 100644 --- a/uuids.nimble +++ b/uuids.nimble @@ -1,9 +1,10 @@ [Package] name: "uuids" -version: "0.1.11" +version: "0.1.7" author: "Xored Software, Inc." description: "UUID library" license: "MIT" +srcDir: "src" [Deps] -requires: "isaac >= 0.1.3" +requires: "isaac >= 0.1.2"