diff options
Diffstat (limited to '')
| -rw-r--r-- | vector.c | 38 | 
1 files changed, 0 insertions, 38 deletions
| diff --git a/vector.c b/vector.c deleted file mode 100644 index 0863908..0000000 --- a/vector.c +++ /dev/null @@ -1,38 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include "vector.h" - -static int grow(struct vector *vec, int gently) -{ -	size_t new_alloc; -	void *new_data; - -	new_alloc = vec->alloc * 3 / 2; -	if (!new_alloc) -		new_alloc = 8; -	new_data = realloc(vec->data, new_alloc * vec->size); -	if (!new_data) { -		if (gently) -			return ENOMEM; -		perror("vector.c:grow()"); -		exit(1); -	} -	vec->data = new_data; -	vec->alloc = new_alloc; -	return 0; -} - -int vector_push(struct vector *vec, const void *data, int gently) -{ -	int rc; - -	if (vec->count == vec->alloc && (rc = grow(vec, gently))) -		return rc; -	if (data) -		memmove(vec->data + vec->count * vec->size, data, vec->size); -	else -		memset(vec->data + vec->count * vec->size, 0, vec->size); -	vec->count++; -	return 0; -} | 
