summary refs log tree commit diff stats
diff options
context:
space:
mode:
-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)