quakeforge/tools/qfcc/test/link_order.r

45 lines
708 B
R

#pragma bug die
#include "test-harness.h"
typedef struct link_s {
int something;
struct link_s *next;
} link_t;
link_t *
link_objs(link_t **array, int count)
{
link_t *obj = nil, *o;
while (count-- > 0) {
o = array[count];
o.next = obj;
obj = o;
}
return obj;
}
link_t link_a;
link_t link_b;
link_t *links[2];
int
main ()
{
links[0] = &link_a;
links[1] = &link_b;
link_t *chain = link_objs (links, 2);
if (chain != &link_a) {
printf ("chain doesn't point to link_a\n");
return 1;
}
if (chain.next != &link_b) {
printf ("chain.next doesn't point to link_b\n");
return 1;
}
if (chain.next.next != nil) {
printf ("chain.next.next isn't nil\n");
return 1;
}
return 0;
}