Hi again, sorry for again asking such a basic FFI question, but I have a problem getting an output string from the C side...
E.g. in one case, in my first attempt (def-ocilib datetotext OCI_DateToText : (date_ptr : _pointer) (fmt : _string) (size : _int) (strval : (_ptr o _string)) -> (result : _bool) -> (values strval result)) I simply tried using (strval : (_ptr o _string)) for the return string (the argument size indicates the desired size for the output string). After the experience with the null-terminated strings from my recent post, I also tried an input-output-arg, passing a null-terminated string in to C: (def-ocilib datetotext OCI_DateToText : (date_ptr : _pointer) (fmt : _string) (size : _int) (strval : (_ptr io _string) = (gen-output-string 100))-> (result : _bool) -> (values strval result)) where gen-output-string pads an empty string to a specified length. But in both cases, I get the same error: ptr-ref: expects type <cpointer> as 1st argument, given: #<bad-value>; other arguments were: #<ctype> Honestly, I have no idea what the problem might be (or how to debug/investigate it), and would very much appreciate any hints... :-) Many thanks! Sigrid _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users