diff options
author | Robert James Kaes <rjkaes@users.sourceforge.net> | 2002-04-18 17:57:20 +0000 |
---|---|---|
committer | Robert James Kaes <rjkaes@users.sourceforge.net> | 2002-04-18 17:57:20 +0000 |
commit | 3b5a4b736257f17756b713f4e8a3974a81f099ca (patch) | |
tree | 53ca704b2bd37066d07ffbe245651f67c69ad71f /src | |
parent | ce4687fbf96c8edfbd10b5235f8fdd9c529fa744 (diff) | |
download | tinyproxy-3b5a4b736257f17756b713f4e8a3974a81f099ca.tar.gz tinyproxy-3b5a4b736257f17756b713f4e8a3974a81f099ca.zip |
Replaced the explicit header includes with one call to tinyproxy.h. Also,
added the utils.h header and changed all the malloc, calloc, free, and
strdup to the appropriate safe variety.
Diffstat (limited to 'src')
-rw-r--r-- | src/hashmap.c | 56 | ||||
-rw-r--r-- | src/vector.c | 27 |
2 files changed, 30 insertions, 53 deletions
diff --git a/src/hashmap.c b/src/hashmap.c index 74af7a9..4b47d93 100644 --- a/src/hashmap.c +++ b/src/hashmap.c @@ -1,4 +1,4 @@ -/* $Id: hashmap.c,v 1.3 2002-04-09 20:05:15 rjkaes Exp $ +/* $Id: hashmap.c,v 1.4 2002-04-18 17:57:20 rjkaes Exp $ * * A hashmap implementation. The keys are case-insensitive NULL terminated * strings, and the data is arbitrary lumps of data. Copies of both the @@ -25,27 +25,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <sys/types.h> -#if defined(HAVE_STDINT_H) -# include <stdint.h> -#endif -#if defined(HAVE_INTTYPES_H) -# include <inttypes.h> -#endif - -#if defined(HAVE_CTYPE_H) -# include <ctype.h> -#endif -#include <errno.h> -#include <stdlib.h> -#include <string.h> +#include "tinyproxy.h" #include "hashmap.h" #include "vector.h" +#include "utils.h" /* * These structures are the storage for the hashmap. Entries are stored in @@ -112,14 +96,14 @@ hashmap_create(unsigned int nbuckets) if (nbuckets == 0) return NULL; - ptr = calloc(1, sizeof(struct hashmap_s)); + ptr = safecalloc(1, sizeof(struct hashmap_s)); if (!ptr) return NULL; ptr->size = nbuckets; - ptr->maps = calloc(nbuckets, sizeof(struct hashentry_s *)); + ptr->maps = safecalloc(nbuckets, sizeof(struct hashentry_s *)); if (!ptr->maps) { - free(ptr); + safefree(ptr); return NULL; } @@ -146,9 +130,9 @@ delete_hashentries(struct hashentry_s* entry) while (ptr) { nextptr = ptr->next; - free(ptr->key); - free(ptr->data); - free(ptr); + safefree(ptr->key); + safefree(ptr->data); + safefree(ptr); ptr = nextptr; } @@ -175,7 +159,7 @@ hashmap_delete(hashmap_t map) delete_hashentries(map->maps[i]); } - free(map); + safefree(map); return 0; } @@ -214,14 +198,14 @@ hashmap_insert(hashmap_t map, const char *key, * First make copies of the key and data in case there is a memory * problem later. */ - key_copy = strdup(key); + key_copy = safestrdup(key); if (!key_copy) return -ENOMEM; if (data) { - data_copy = malloc(len); + data_copy = safemalloc(len); if (!data_copy) { - free(key_copy); + safefree(key_copy); return -ENOMEM; } memcpy(data_copy, data, len); @@ -236,16 +220,16 @@ hashmap_insert(hashmap_t map, const char *key, ptr = ptr->next; } - ptr = calloc(1, sizeof(struct hashentry_s)); + ptr = safecalloc(1, sizeof(struct hashentry_s)); ptr->prev = prevptr; prevptr->next = ptr; } else { - ptr = map->maps[hash] = calloc(1, sizeof(struct hashentry_s)); + ptr = map->maps[hash] = safecalloc(1, sizeof(struct hashentry_s)); } if (!ptr) { - free(key_copy); - free(data_copy); + safefree(key_copy); + safefree(data_copy); return -ENOMEM; } @@ -380,9 +364,9 @@ hashmap_remove(hashmap_t map, const char *key) ptr->prev = NULL; } - free(ptr->key); - free(ptr->data); - free(ptr); + safefree(ptr->key); + safefree(ptr->data); + safefree(ptr); return 1; } diff --git a/src/vector.c b/src/vector.c index 044b085..09844bd 100644 --- a/src/vector.c +++ b/src/vector.c @@ -1,4 +1,4 @@ -/* $Id: vector.c,v 1.2 2002-04-09 16:28:13 rjkaes Exp $ +/* $Id: vector.c,v 1.3 2002-04-18 17:57:19 rjkaes Exp $ * * A vector implementation. The vector can be of an arbritrary length, and * the data for each entry is an lump of data (the size is stored in the @@ -21,17 +21,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#if defined(HAVE_CONFIG_H) -# include <config.h> -#endif - -#include <sys/types.h> - -#include <errno.h> -#include <stdlib.h> -#include <string.h> +#include "tinyproxy.h" #include "vector.h" +#include "utils.h" /* * These structures are the storage for the "vector". Entries are @@ -64,7 +57,7 @@ vector_create(void) { vector_t vector; - vector = malloc(sizeof(struct vector_s)); + vector = safemalloc(sizeof(struct vector_s)); if (!vector) return NULL; @@ -91,13 +84,13 @@ vector_delete(vector_t vector) ptr = vector->vector; while (ptr) { next = ptr->next; - free(ptr->data); - free(ptr); + safefree(ptr->data); + safefree(ptr); ptr = next; } - free(vector); + safefree(vector); return 0; } @@ -119,13 +112,13 @@ vector_insert(vector_t vector, void *data, ssize_t len) if (!vector || !data || len <= 0) return -EINVAL; - entry = malloc(sizeof(struct vectorentry_s)); + entry = safemalloc(sizeof(struct vectorentry_s)); if (!entry) return -ENOMEM; - entry->data = malloc(len); + entry->data = safemalloc(len); if (!entry->data) { - free(entry); + safefree(entry); return -ENOMEM; } |