From 128555da36dfe209f9a5eeb8528ed64c9cb06e11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Mon, 17 Apr 2000 18:48:57 +0200
Subject: [PATCH] Now uses SET_NEXT_AND_FREE().

Rev: src/array.c:1.65
---
 src/array.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/array.c b/src/array.c
index a3113ef709..fc28cdbe1e 100644
--- a/src/array.c
+++ b/src/array.c
@@ -23,7 +23,7 @@
 #include "stuff.h"
 #include "bignum.h"
 
-RCSID("$Id: array.c,v 1.64 2000/04/12 18:40:12 hubbe Exp $");
+RCSID("$Id: array.c,v 1.65 2000/04/17 16:48:57 grubba Exp $");
 
 struct array empty_array=
 {
@@ -1859,11 +1859,10 @@ void gc_free_all_unreferenced_arrays(void)
       free_svalues(ITEM(a), a->size, a->type_field);
       a->size=0;
 
-      if(!(next=a->next))
-	fatal("Null pointer in array list.\n");
+      SET_NEXT_AND_FREE(a, free_array);
 
-      free_array(a);
-      a=next;
+      if (!(a = next))
+	fatal("Null pointer in array list.\n");
     }
     else if(a->flags & ARRAY_WEAK_FLAG)
     {
@@ -1901,11 +1900,10 @@ void gc_free_all_unreferenced_arrays(void)
 	}
       }
 	  
-      if(!(next=a->next))
-	fatal("Null pointer in array list.\n");
+      SET_NEXT_AND_FREE(a, free_array);
 
-      free_array(a);
-      a=next;
+      if (!(a = next))
+	fatal("Null pointer in array list.\n");
     }
     else
     {
-- 
GitLab