/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk

« back to all changes in this revision

Viewing changes to libssts/DynamicArray.c

  • Committer: Gustav Hartvigsson
  • Date: 2016-02-01 14:11:35 UTC
  • mto: This revision was merged to the branch mainline in revision 122.
  • Revision ID: gustav.hartvigsson@gmail.com-20160201141135-pcl4m4gcf8r7t11e
* Made the GC switchable at rutime (once) when compiled with S_USE_GC set.
* replaced:
  * malloc ->   s_malloc
  * free ->     s_free
  * realloc ->  s_realloc
  * calloc ->   s_calloc

* Made s_[malloc, calloc, free, realloc] functions and moved them to their own file.
  This can be used os basis for other memory stuffs in the future, if we want to use
  a Slab allocator or something else.

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
                          FreeFunc free_func,
47
47
                          FuncPointer to_json,
48
48
                          FuncPointer from_json) {
49
 
  SDynamicArray * self = malloc (sizeof(SDynamicArray));
 
49
  SDynamicArray * self = s_malloc (sizeof(SDynamicArray));
50
50
 
51
51
  self->max_size = len;
52
52
 
54
54
 
55
55
 
56
56
  if (free_func == NULL) {
57
 
    self->free_func = free;
 
57
    self->free_func = s_free;
58
58
  } else {
59
59
    self->free_func = free_func;
60
60
  }
61
61
  self->to_json = to_json;
62
62
  self->from_json = from_json;
63
63
 
64
 
  self->array = calloc (len ,sizeof (spointer));
 
64
  self->array = s_calloc (len ,sizeof (spointer));
65
65
 
66
66
  return self;
67
67
}
95
95
    }
96
96
  }
97
97
 
98
 
  free (self->array);
99
 
  free (self);
 
98
  s_free (self->array);
 
99
  s_free (self);
100
100
}
101
101
 
102
102
spointer
123
123
 
124
124
    self->max_size = new_size;
125
125
 
126
 
    self->array = realloc (self->array,
 
126
    self->array = s_realloc (self->array,
127
127
                          (sizeof (spointer) * (self->max_size)));
128
128
    /* Zero new momery */
129
129
    for (size_t i = old_size; i < new_size; i++) {
157
157
 
158
158
spointer *
159
159
s_dynamic_array_dump_array (SDynamicArray * self) {
160
 
  spointer * ret_val = calloc (self->last_item + 1, sizeof (* self->array));
 
160
  spointer * ret_val = s_calloc (self->last_item + 1, sizeof (* self->array));
161
161
  for (int i = 0; i < self->last_item; i++) {
162
162
    ret_val[i] = self->array[i];
163
163
  }