/+junk/c_sdl_joypad

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/%2Bjunk/c_sdl_joypad
7 by Gustav Hartvigsson
* Added licensing information to the files.
1
struct _DynamicArray {
2
  void ** array;
3
  size_t max_size;
4
  size_t len;
5
};
6
7
DynamicArray * dynamic_array_new (size_t len) {
8
  DynamicArray * self = malloc (sizeof(DynamicArray));
9
  
10
  self->max_size = len;
11
  self->len = 0;
12
  
13
  self->array = malloc (len);
14
  
15
  return self;
16
}
17
18
void dynamic_array_free (DynamicArray * self) {
19
  free (self->array);
20
  free (self);
21
}
22
23
void * dynamic_array_get (DynamicArray * self, size_t index) {
24
  return self->array[index];
25
}
26
27
size_t dynamic_array_len (DynamicArray * self) {
28
  return self->len;
29
}
30
31
void dynamic_array_add (DynamicArray * self, void * data) {
32
  if (self->len == self->max_size) {
33
    self->array = realloc (self->array, self->max_size + ARRAY_PADDING);
34
    self->max_size = self->max_size + ARRAY_PADDING;
35
  }
36
  self->array[self->len + 1] = data;
37
  self->len++;
38
}
39
40
void * dynamic_array_dump_array (DynamicArray * self) {
41
  void * ret_val = malloc (self->len + 1);
42
  for (i = 0; i >= self->len; i++) {
43
    ret_val[i] = self->array[i];
44
  }
45
  ret_val[self->len + 1] = NULL;
46
  return ret_val;
47
}
48
49
void dynamic_array_for_each (DynamicArray * self, ForEachFunc func) {
50
  for (int i = 0; i <= size->len; i++) {
51
    func (self, self->array[i]);
52
  }
53
}
54
55
56
57