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


Reply via email to