On 25/04/2011 08:58, Marco van de Voort wrote:
In our previous episode, Paulo Costa said:
I saw that h2pas translated:

typedef void(*callback)(int pos, void* userdata);

to

callback = procedure (pos:cint; var userdata:pointer);cdecl;

userdata is essentially untyped, so it doesn't matter what it exactly points
too.

Right. The trouble here was that I see var foo as a reference to foo, which means an implicit pointer. So var userdata:pointer is like a pointer to pointer and that doesn't look like the original C code...

shouldn't it be?

callback = procedure (pos:cint; userdata:pointer);cdecl;

It is a better translation, and also pointer style support NIL. Do you use
-v or not?


OK. I did not use the -v option so I was wondering why it was selecting the first option.

Paulo Costa
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to