Mercurial > code
diff array.h @ 29:19c0d2e11406
Security fixes for array
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 22 Sep 2011 21:07:51 +0200 |
parents | 02b0ee204042 |
children | e2c3a0a549d2 |
line wrap: on
line diff
--- a/array.h Thu Sep 22 13:03:27 2011 +0200 +++ b/array.h Thu Sep 22 21:07:51 2011 +0200 @@ -43,12 +43,12 @@ int array_push(struct array *, const void *); int array_insert(struct array *, const void *, int); int array_append(struct array *, const void *); -void *array_pop(struct array *); -void *array_unqueue(struct array *); -void *array_remove(struct array *, int); +void array_pop(struct array *); +void array_unqueue(struct array *); +void array_remove(struct array *, int); int array_swap(struct array *, int, int); -void array_map(struct array *, void (*fn)(void *, void *), void *); -void *array_find(struct array *, int (*fn)(void *, void *), int *, void *); +void array_map(const struct array *, void (*fn)(void *, void *), void *); +void *array_find(const struct array *, int (*fn)(void *, void *), int *, void *); void array_clear(struct array *); void array_free(struct array *); @@ -60,4 +60,9 @@ var = (void *) ((char *) a->data + a->unit * (a->length - 1)); \ i < a->length; ++i, --var) +#define ARRAY_HEAD(a) \ + a->data +#define ARRAY_TAIL(a) \ + (void *) ((char *) a->data + (a->unit * (a->length - 1))) + #endif /* _ARRAY_H_ */