summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2017-01-06 13:15:10 +0100
committerGitHub <noreply@github.com>2017-01-06 13:15:10 +0100
commit86ea5ea92c5146ea46eedc92a2f248d1a0d375b6 (patch)
tree2a726e8ba465e64345ed319889dae3086c195dac
parent4b73194bb0ebb9c7c1f36b98d4dad2ba543622ed (diff)
parentec1a77bb8659c8074c6ec1ef5d20af7477efc53e (diff)
downloadNim-86ea5ea92c5146ea46eedc92a2f248d1a0d375b6.tar.gz
Merge pull request #5141 from c-blake/devel
Add a proc `==` for MemSlice.
-rw-r--r--lib/pure/memfiles.nim5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim
index aa32778c5..c6322c7bb 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)