From 545ca800b5f40fc5e44340d6606f8c5727d48905 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Tue, 7 Oct 1997 04:41:40 -0700
Subject: [PATCH] bugfix

Rev: src/cyclic.c:1.2
---
 src/cyclic.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/cyclic.c b/src/cyclic.c
index cb8a7395a2..67066114e6 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;
 }
-- 
GitLab