From 64b0485207f428ce3941061b1c165ec8004b2c96 Mon Sep 17 00:00:00 2001 From: Jacek Sieka Date: Sun, 5 Jun 2016 12:03:20 +0800 Subject: fix types of ansi_c/sysio to more closely match C ABI also fixes some instances of using C library functions when there are nim alternatives available --- lib/pure/memfiles.nim | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'lib/pure/memfiles.nim') diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index b9c574944..ff3e74d59 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -257,12 +257,10 @@ type MemSlice* = object ## represent slice of a MemFile for iteration over deli data*: pointer size*: int -proc c_memcpy(a, b: pointer, n: int) {.importc: "memcpy", header: "".} - proc `$`*(ms: MemSlice): string {.inline.} = ## Return a Nim string built from a MemSlice. var buf = newString(ms.size) - c_memcpy(addr(buf[0]), ms.data, ms.size) + copyMem(addr(buf[0]), ms.data, ms.size) buf[ms.size] = '\0' result = buf @@ -329,7 +327,7 @@ iterator lines*(mfile: MemFile, buf: var TaintedString, delim='\l', eat='\r'): T for ms in memSlices(mfile, delim, eat): buf.setLen(ms.size) - c_memcpy(addr(buf[0]), ms.data, ms.size) + copyMem(addr(buf[0]), ms.data, ms.size) buf[ms.size] = '\0' yield buf -- cgit 1.4.1-2-gfad0