From: Yaroslav K. <kav...@je...> - 2005-04-11 09:01:36
|
Sam Steingold: > It appears that you need to make your function return a > (c-pointer tcl-ffi:Tcl-Interp) Yes! It that is necessary! Thanks! > > sorry that it took me so long to figure this out. > Excuse, that me for a long time reaches... Next a question: foreign function return pointer of structure: typedef struct { char *result; Tcl_FreeProc *freeProc; int errorLine; } Tcl_Interp; Now I defined: (ffi:def-c-struct Tcl-Interp (result ffi:c-string) (freeProc *Tcl-FreeProc) (errorLine ffi:int)) (ffi:def-c-type *Tcl-Interp (ffi:c-pointer Tcl-Interp)) (ffi:def-call-out ... (:return-type *Tcl-Interp)... That is work. But the pointer of field "result" is necessary for a call of function "freeProc" if pointer of function is not nil. How to receive not only value of a field "result", but also the pointer of it? Excuse if not it is understandable. Thanks. -- WBR, Yaroslav Kavenchuk. |