]> git.ozlabs.org Git - ccan/blob - ccan/array/array.c
array: spelling fixes.
[ccan] / ccan / array / array.c
1 #include "array.h"
2 #include <stdarg.h>
3
4 int array_alias_helper(const void *a, const void *b) {
5         (void)a, (void)b;
6         return 0;
7 }
8
9 //grows the allocated size to accommodate the size
10 void array_resize_helper(array_char *a, size_t itemSize) {
11         a->alloc = (a->size+63)&~63;
12         #ifndef ARRAY_USE_TALLOC
13         a->item = realloc(a->item, a->alloc*itemSize);
14         #else
15         a->item = talloc_realloc_size(NULL, a->item, a->alloc*itemSize +1);
16         #endif
17 }
18
19 void array_resize0_helper(array_char *a, size_t itemSize, size_t newSize) {
20         size_t oldSize = a->size;
21         a->size = newSize;
22         if (newSize > oldSize) {
23                 if (newSize > a->alloc)
24                         array_resize_helper(a, itemSize);
25                 memset(a->item + oldSize*itemSize, 0, (newSize-oldSize)*itemSize);
26         }
27 }
28
29 void array_insert_items_helper(array_char *a, size_t itemSize, size_t pos, const void *items, size_t count, size_t tailSize) {
30         size_t oldSize = a->size;
31         size_t newSize = (a->size += count+tailSize);
32         if (newSize > a->alloc)
33                 array_resize_helper(a, itemSize);
34         {
35                 char *target = a->item + pos*itemSize;
36                 count *= itemSize;
37                 memmove(target+count, target, (oldSize-pos)*itemSize);
38                 memcpy(target, items, count);
39         }
40 }