From 1bb6775f92ac346197ef35ec891f4cb260b15426 Mon Sep 17 00:00:00 2001 From: Charles Blake Date: Thu, 22 Dec 2016 15:25:13 -0500 Subject: [PATCH 1/2] Add a proc `==` for MemSlice. --- lib/pure/memfiles.nim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index aa32778c52..67a7609a4d 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -271,6 +271,11 @@ type MemSlice* = object ## represent slice of a MemFile for iteration over deli data*: pointer size*: int +proc `==` (x, y: MemSlice): bool = + ## Compare a pair of MemSlice for strict equality. + proc memcmp(a, b: pointer, n:int):int {.importc: "memcmp",header: "string.h".} + result = (x.size == y.size and memcmp(x.data, y.data, x.size) == 0) + proc `$`*(ms: MemSlice): string {.inline.} = ## Return a Nim string built from a MemSlice. var buf = newString(ms.size) From ec1a77bb8659c8074c6ec1ef5d20af7477efc53e Mon Sep 17 00:00:00 2001 From: Charles Blake Date: Thu, 22 Dec 2016 16:12:31 -0500 Subject: [PATCH 2/2] Oops - forgot export marker. --- lib/pure/memfiles.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index 67a7609a4d..c6322c7bb6 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -271,7 +271,7 @@ type MemSlice* = object ## represent slice of a MemFile for iteration over deli data*: pointer size*: int -proc `==` (x, y: MemSlice): bool = +proc `==`*(x, y: MemSlice): bool = ## Compare a pair of MemSlice for strict equality. proc memcmp(a, b: pointer, n:int):int {.importc: "memcmp",header: "string.h".} result = (x.size == y.size and memcmp(x.data, y.data, x.size) == 0)