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