Hi

> How to create and pass an array of string to nim and pass it to C?
    
    
    type CArray{.unchecked.}[T] = array[0..0, T]#found it on the forum
    
    proc fn(argc: cint, args: ptr CArray[cstring]): cstring {.importc, dynlib: 
"...".}
    
    
    Run

I tried this but got *** stack smashing detected ***: <unknown> terminated:
    
    
    proc fn*(elems: seq[string]): string =
      var arr: CArray[cstring]
      arr[0] = "start"
      var i = 1
      for elem in elems:
        arr[i] = elem
        i += 1
      var size: cint = cast[cint](elems.len() + 1)
      return $kget(size, addr arr)# tried it with unsafeAddr too
    
    
    Run

Reply via email to