/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: 2015-10-28 14:45:22 UTC
  • mto: This revision was merged to the branch mainline in revision 111.
  • Revision ID: gustav.hartvigsson@gmail.com-20151028144522-fo54z73ssjex0emw
* SMap seems to be broken... Or could it be SObject's Callback stuff? Or SLinkedList?

Show diffs side-by-side

added added

removed removed

Lines of Context:
88
88
s_dynamic_array_free (SDynamicArray * self, sboolean free_data) {
89
89
  if (free_data) {
90
90
    if (self->free_func != NULL) {
 
91
      s_dbg_print ("SDynamicArray: free data.");
91
92
      s_dynamic_array_for_each (self,
92
93
                                FOREACHFUNC (_private_for_each_item_free),
93
94
                                NULL);
100
101
 
101
102
spointer
102
103
s_dynamic_array_get (SDynamicArray * self, size_t index) {
 
104
  if (index > self->max_size) {
 
105
    s_err_print ("Index out of range:\n\tMax index: %zd requested index:%zd",
 
106
                 self->max_size, index);
 
107
    return NULL;
 
108
  }
 
109
  if (self->max_size < 1) {
 
110
    return NULL;
 
111
  }
103
112
  return self->array[index];
104
113
}
105
114
 
159
168
void
160
169
s_dynamic_array_for_each (SDynamicArray * self, ForEachFunc func,
161
170
                             spointer data) {
 
171
  s_dbg_print ("Size: %zd", self->max_size);
162
172
  for (int i = 0; i < self->max_size && i <= self->last_item; i++) {
163
173
    spointer item = self->array[i];
164
174
    if (item) {
 
175
      s_dbg_print ("Item Found.");
165
176
      func (self, item, data);
166
177
    }
167
178
  }