> +/* make negative table index stand for the last table entry */> +#define TOPA_ENTRY(t, i) ((i) == -1 ? &(t)->table[(t)->last] : &(t)->table[(i)])code does not match comment; negative would be: i < 0, not i == -1.Something like: ({ if (i < 0) i += t->size; t->table[i]; }), might work,of course that goes bang when: i !e [-size,size)