Marco van de Voort wrote:
I've started binding libsvn to FPC, and I have encountered the
following macro that I do not know how to translate:
#define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i])

The usage of such macro is as follows:  APR_ARRAY_IDX (new_entries, i,
const char *);

How can I translate the "type" ?

You can't. This is more like trying to do generics with macro's on C level.
And since FPC macro's afaik have no parameter syntax, this is not possible.

Hmm, what about (+/-):

type_of_elts_entry(type_ptr(integer(ary.elts ) + i * sizeof(type_of_elts_entry ) )^ )

I've been solving issues like this many times on AggPas and icu4pas projects.

Milano


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

Reply via email to