Hi Ciprian: On 25 Jan 2013, at 20:58, Ciprian Teodorov wrote: > repo := NBExternalObject new. [...]
> repository_open: out path: path > ^self call: #(NBInt32 git_repository_open(NBExternalObject * out, > NBCharacterType * path)) options: #( ) > Notice that when using NBExternalObject one level of indirection is gone so > git_repository ** becomes NBExternalObject * Indeed, much nicer. I am now using type aliases such as: #(git_repository_ptr NBExternalObject git_reference_ptr NBExternalObject) With a signature such as: ^self call: #(int git_repository_open(git_repository_ptr * handle, char * path)) That stays close to the C, and tells me what the pointer are. And with the NBExternalObject it works nicely. Thanks a lot! Stefan -- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525