mirror of
https://github.com/status-im/nim-task-runner.git
synced 2025-02-16 16:47:07 +00:00
13 lines
337 B
Nim
13 lines
337 B
Nim
type
|
|
ThreadSafeString* = distinct cstring
|
|
|
|
proc safe*(input: string): ThreadSafeString =
|
|
var res = cast[cstring](allocShared(input.len + 1))
|
|
copyMem(res, input.cstring, input.len)
|
|
res[input.len] = '\0'
|
|
res.ThreadSafeString
|
|
|
|
proc `$`*(input: ThreadSafeString): string =
|
|
result = $(input.cstring)
|
|
deallocShared input.cstring
|