Make MemSlice stringification both simpler and faster. (#10464)

This commit is contained in:
c-blake
2019-01-27 07:52:46 -05:00
committed by Andreas Rumpf
parent 3ce6b2acb9
commit 322f395f31

View File

@@ -372,9 +372,8 @@ proc `==`*(x, y: MemSlice): bool =
proc `$`*(ms: MemSlice): string {.inline.} =
## Return a Nim string built from a MemSlice.
var buf = newString(ms.size)
copyMem(addr(buf[0]), ms.data, ms.size)
result = buf
result.setLen(ms.size)
copyMem(addr(result[0]), ms.data, ms.size)
iterator memSlices*(mfile: MemFile, delim='\l', eat='\r'): MemSlice {.inline.} =
## Iterates over [optional `eat`] `delim`-delimited slices in MemFile `mfile`.