On 3/11/13, Darius Blaszyk <dhkblas...@zeelandnet.nl> wrote: > > > I'm stuck porting a macro from C. Below is the original define. The > part I'm struggeling with is the right most part after the - sign. > > > #define GETNEXT(x) ((LList *)(((char *) x) - ((char *) & (((LList > *)0)^.next)))) > > Does anyone know what is meant with the define? > Obviously LList is a linked list struct that has a prev and next > variable. But what does the & and 0 mean? > > Appreciate any > help. > > Regards, Darius
AFAICS they mean "address" and "nil", respectively, so that part will return the offset of "next" inside and item of LList. -Flávio -Flávio _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal