diff --git a/src/cyclic.c b/src/cyclic.c index cb8a7395a25d5a26914efeb647a2cc8732808403..67066114e6753df38fb776b9c82e11f7c341e411 100644 --- a/src/cyclic.c +++ b/src/cyclic.c @@ -4,7 +4,7 @@ CYCLIC *cyclic_hash[CYCLIC_HASH_SIZE]; -void unlink_cyclic(CYCLIC *c) +static void low_unlink_cyclic(CYCLIC *c) { unsigned int h; CYCLIC **p; @@ -23,13 +23,18 @@ void unlink_cyclic(CYCLIC *c) if(c == *p) { *p=c->next; - UNSET_ONERROR(c->onerr); return; } } fatal("Unlink cyclic on lost cyclic struct.\n"); } +void unlink_cyclic(CYCLIC *c) +{ + UNSET_ONERROR(c->onerr); + low_unlink_cyclic(c); +} + void *begin_cyclic(CYCLIC *c, void *id, void *th, @@ -60,6 +65,6 @@ void *begin_cyclic(CYCLIC *c, c->th=th; c->next=cyclic_hash[h]; cyclic_hash[h]=c; - SET_ONERROR(c->onerr, unlink_cyclic, &c); + SET_ONERROR(c->onerr, low_unlink_cyclic, c); return 0; }