From 2a129b32b237a4d9cbd927dfc4a5f8bfe0e7c889 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 24 Mar 1996 15:19:47 +0100
Subject: [PATCH] now resets all allocated arrays to zero

Rev: src/array.c:1.8
Rev: src/array.h:1.5
---
 src/array.c | 22 ++++++++--------------
 src/array.h |  5 +++--
 2 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/src/array.c b/src/array.c
index 2697bdeb8b..88237a175e 100644
--- a/src/array.c
+++ b/src/array.c
@@ -37,9 +37,10 @@ struct array empty_array=
  * NOTE: the new array have zero references
  */
 
-struct array *allocate_array_no_init(INT32 size,INT32 extra_space)
+struct array *low_allocate_array(INT32 size,INT32 extra_space)
 {
   struct array *v;
+  INT32 e;
 
   if(size == 0)
   {
@@ -67,21 +68,14 @@ struct array *allocate_array_no_init(INT32 size,INT32 extra_space)
   empty_array.next=v;
   v->next->prev=v;
 
-  return v;
-}
-
-struct array *allocate_array(INT32 size)
-{
-  INT32 e;
-  struct array *a;
-  a=allocate_array_no_init(size,0);
-  for(e=0;e<a->size;e++)
+  for(e=0;e<v->size;e++)
   {
-    ITEM(a)[e].type=T_INT;
-    ITEM(a)[e].subtype=NUMBER_NUMBER;
-    ITEM(a)[e].u.integer=0;
+    ITEM(v)[e].type=T_INT;
+    ITEM(v)[e].subtype=NUMBER_NUMBER;
+    ITEM(v)[e].u.integer=0;
   }
-  return a;
+
+  return v;
 }
 
 /*
diff --git a/src/array.h b/src/array.h
index 758fc6cbad..a0a058021f 100644
--- a/src/array.h
+++ b/src/array.h
@@ -47,6 +47,8 @@ struct array
 
 #define free_array(V) do{ struct array *v_=(V); if(!--v_->refs) really_free_array(v_); }while(0)
 
+#define allocate_array(X) low_allocate_array((X),0)
+#define allocate_array_no_init(X,Y) low_allocate_array((X),(Y))
 
 typedef int (*cmpfun)(struct svalue *,struct svalue *);
 typedef int (*short_cmpfun)(union anything *, union anything *);
@@ -54,8 +56,7 @@ typedef short_cmpfun (*cmpfun_getter)(TYPE_T);
 
 
 /* Prototypes begin here */
-struct array *allocate_array_no_init(INT32 size,INT32 extra_space);
-struct array *allocate_array(INT32 size);
+struct array *low_allocate_array(INT32 size,INT32 extra_space);
 void really_free_array(struct array *v);
 void array_index_no_free(struct svalue *s,struct array *v,INT32 index);
 void array_index(struct svalue *s,struct array *v,INT32 index);
-- 
GitLab