X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCset.c;h=61b68a05931d5364ba28ee3ae7131897fd0edd46;hb=39ed87e68344682acb5ec17dac07adecbd389b70;hp=f56b6cf4d1644c046e94c910d716f36b2dffbd1a;hpb=bdfd6db4ee4c9b639d084d6004591f318007a22f;p=fw%2Fsdcc diff --git a/src/SDCCset.c b/src/SDCCset.c index f56b6cf4..61b68a05 100644 --- a/src/SDCCset.c +++ b/src/SDCCset.c @@ -23,11 +23,6 @@ -------------------------------------------------------------------------*/ #include -#if defined(__APPLE__) && defined(__MACH__) -#include -#else -#include -#endif #include "newalloc.h" #include #include "SDCCset.h" @@ -40,7 +35,7 @@ newSet () { set *lp; - lp = Safe_calloc (1, sizeof (set)); + lp = Safe_alloc ( sizeof (set)); // if (lp == 0) { // fprintf(stderr, "out of virtual memory: %s\n", __FILE__); // exit(1); @@ -409,6 +404,26 @@ elementsInSet (set * s) return count; } +/*-----------------------------------------------------------------*/ +/* reverseSet - reverse the order of the items of a set */ +/*-----------------------------------------------------------------*/ + +set * +reverseSet(set * s) +{ + set *t = NULL; + set *u = NULL; + + while(s->next) { + t = s->next; + s->next = u; + u = s; + s = t; + } + s->next = u; + return s; +} + /*-----------------------------------------------------------------*/ /* subtractFromSet - take away from set1 elements of set2 */ /*-----------------------------------------------------------------*/ @@ -558,6 +573,6 @@ setToNull (void **item) if (!*item) return; - free (*item); + Safe_free (*item); *item = NULL; }