pike.git / src / array.c

version» Context lines:

pike.git/src/array.c:30:    0, /* no flags */   };            /* Allocate an array, this might be changed in the future to    * allocate linked lists or something    * 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)    {    empty_array.refs++;    return &empty_array;    }       GC_ALLOC();       v=(struct array *)malloc(sizeof(struct array)+
pike.git/src/array.c:60:       v->malloced_size=size+extra_space;    v->size=size;    v->flags=0;    v->refs=1;    v->prev=&empty_array;    v->next=empty_array.next;    empty_array.next=v;    v->next->prev=v;    -  return v; +  for(e=0;e<v->size;e++) +  { +  ITEM(v)[e].type=T_INT; +  ITEM(v)[e].subtype=NUMBER_NUMBER; +  ITEM(v)[e].u.integer=0;    }    - 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++) -  { -  ITEM(a)[e].type=T_INT; -  ITEM(a)[e].subtype=NUMBER_NUMBER; -  ITEM(a)[e].u.integer=0; +  return v;   } -  return a; - } +       /*    * Free an array without freeing the values inside it    */   static void array_free_no_free(struct array *v)   {    struct array *next,*prev;       next = v->next;    prev = v->prev;