diff --git a/src/leveldb.nim b/src/leveldb.nim index c82618b..4ad56df 100644 --- a/src/leveldb.nim +++ b/src/leveldb.nim @@ -60,6 +60,10 @@ proc put*(self: LevelDb, key: string, value: string, sync = true) = key, key.len.csize, value, value.len.csize, addr errPtr) checkError(errPtr) +proc newString(cstr: cstring, length: csize): string = + result = newString(length) + copyMem(unsafeAddr result[0], cstr, length) + proc get*(self: LevelDb, key: string): Option[string] = var size: csize var errPtr: cstring = nil @@ -69,7 +73,7 @@ proc get*(self: LevelDb, key: string): Option[string] = if s == nil: result = none(string) else: - result = some ($s)[0.. 0: - result[0] = some ($str)[0.. 0: - result[1] = some ($str)[0..