# HG changeset patch # User David Demelier # Date 1316761046 -7200 # Node ID e2c3a0a549d2cdf24777643f815c75d99527c469 # Parent 19c0d2e1140629b6b8b782f896ae4902e5a680e2 Rename SIZE -> OFFSET diff -r 19c0d2e11406 -r e2c3a0a549d2 array.c --- a/array.c Thu Sep 22 21:07:51 2011 +0200 +++ b/array.c Fri Sep 23 08:57:26 2011 +0200 @@ -22,7 +22,7 @@ #include "array.h" -#define SIZE(x) (arr->unit * (x)) +#define OFFSET(x) (arr->unit * (x)) static int array_grow(struct array *); @@ -37,9 +37,9 @@ arr->tmp = NULL; arr->length = 0; arr->flags = flags; - arr->bsize = (bsize == 0) ? ARRAY_DEFAULT_BSIZE : bsize; + arr->bsize = (bsize == 0) ? ARRAY_DEFAULT_BOFFSET : bsize; arr->unit = unit; - arr->size = SIZE(arr->bsize); + arr->size = OFFSET(arr->bsize); if ((arr->data = malloc(arr->size)) == NULL) { free(arr); @@ -64,7 +64,7 @@ if (array_grow(arr) < 0) return -1; - memmove((char *) arr->data + arr->unit, arr->data, SIZE(arr->length++)); + memmove((char *) arr->data + arr->unit, arr->data, OFFSET(arr->length++)); memcpy((char *) arr->data, data, arr->unit); return 0; @@ -81,9 +81,9 @@ if (index > arr->length - 1 || index < 0 || array_grow(arr) < 0) return -1; - memmove((char *) arr->data + SIZE(index + 1), - (char *) arr->data + SIZE(index), SIZE(arr->length++ - index)); - memcpy((char *) arr->data + SIZE(index), data, arr->unit); + memmove((char *) arr->data + OFFSET(index + 1), + (char *) arr->data + OFFSET(index), OFFSET(arr->length++ - index)); + memcpy((char *) arr->data + OFFSET(index), data, arr->unit); return 0; } @@ -98,7 +98,7 @@ if (array_grow(arr) < 0) return -1; - memcpy((char *) arr->data + SIZE(arr->length++), data, arr->unit); + memcpy((char *) arr->data + OFFSET(arr->length++), data, arr->unit); return 0; } @@ -111,9 +111,9 @@ array_pop(struct array *arr) { if (arr->length > 0) { - memmove((char *) arr->data, (char *) arr->data + SIZE(1), - SIZE(--arr->length)); - memset((char *) arr->data + SIZE(arr->length), 0, arr->unit); + memmove((char *) arr->data, (char *) arr->data + OFFSET(1), + OFFSET(--arr->length)); + memset((char *) arr->data + OFFSET(arr->length), 0, arr->unit); } } @@ -125,7 +125,7 @@ array_unqueue(struct array *arr) { if (arr->length > 0) - memset((char *) arr->data + SIZE(--arr->length), 0, arr->unit); + memset((char *) arr->data + OFFSET(--arr->length), 0, arr->unit); } /* @@ -136,10 +136,10 @@ array_remove(struct array *arr, int index) { if (arr->length > 0 && index >= 0 && index < arr->length) { - memmove((char *) arr->data + SIZE(index), - (char *) arr->data + SIZE(index + 1), - SIZE(arr->length - index - 1)); - memset((char *) arr->data + SIZE(--arr->length), 0, arr->unit); + memmove((char *) arr->data + OFFSET(index), + (char *) arr->data + OFFSET(index + 1), + OFFSET(arr->length - index - 1)); + memset((char *) arr->data + OFFSET(--arr->length), 0, arr->unit); } } @@ -164,10 +164,10 @@ if (arr->tmp == NULL && (arr->tmp = malloc(arr->unit)) == NULL) return -1; - memcpy((char *) arr->tmp, (char *) arr->data + SIZE(i1), arr->unit); - memcpy((char *) arr->data + SIZE(i1), (char *) arr->data + SIZE(i2), + memcpy((char *) arr->tmp, (char *) arr->data + OFFSET(i1), arr->unit); + memcpy((char *) arr->data + OFFSET(i1), (char *) arr->data + OFFSET(i2), arr->unit); - memcpy((char *) arr->data + SIZE(i2), (char *) arr->tmp, arr->unit); + memcpy((char *) arr->data + OFFSET(i2), (char *) arr->tmp, arr->unit); return 0; } @@ -183,7 +183,7 @@ int i; for (i = 0; i < arr->length; ++i) - fn((char *) arr->data + SIZE(i), udata); + fn((char *) arr->data + OFFSET(i), udata); } /* @@ -200,10 +200,10 @@ void *data; for (i = st = 0; i < arr->length && st != 1; ++i) - st = fn((char *) arr->data + SIZE(i), u); + st = fn((char *) arr->data + OFFSET(i), u); if (st) { - data = (char *) arr->data + SIZE(--i); + data = (char *) arr->data + OFFSET(--i); if (ix) *ix = i; } else @@ -255,10 +255,10 @@ if (arr->flags & ARRAY_AUTO) { if ((arr->data = realloc(arr->data, arr->size + - SIZE(arr->bsize))) == NULL) + OFFSET(arr->bsize))) == NULL) return -1; - arr->size += SIZE(arr->bsize); + arr->size += OFFSET(arr->bsize); } else return -1; diff -r 19c0d2e11406 -r e2c3a0a549d2 array.h --- a/array.h Thu Sep 22 21:07:51 2011 +0200 +++ b/array.h Fri Sep 23 08:57:26 2011 +0200 @@ -32,8 +32,8 @@ /* Private should not be modified by user */ size_t size; /* current buffer size */ + size_t unit; /* unit size (sizeof the object) */ size_t bsize; /* block size (used when growing array) */ - size_t unit; /* unit size (sizeof the object) */ }; struct array *array_new(const void *, size_t, size_t, int);