diff options
author | Tucker Evans <tucker@tuckerevans.com> | 2020-07-06 15:39:08 -0400 |
---|---|---|
committer | Tucker Evans <tucker@tuckerevans.com> | 2020-07-08 10:56:36 -0400 |
commit | cf427c05b05e0409cfdeb6bc30b69070dd1700c3 (patch) | |
tree | 65f706850bc4e5c56889a11eba67bc092c60d778 /collections/map/map.c | |
parent | f652c23fbc61dec9db48c6e745edca5a12b655bb (diff) |
Add constructor for maps
Diffstat (limited to 'collections/map/map.c')
-rw-r--r-- | collections/map/map.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/collections/map/map.c b/collections/map/map.c index 21af21c..803b5ad 100644 --- a/collections/map/map.c +++ b/collections/map/map.c @@ -1,7 +1,9 @@ #include "map.h" #include <string.h> +#include <stdlib.h> #include <stdio.h> +#include <assert.h> struct map_node { void *key, *val; @@ -9,3 +11,17 @@ struct map_node { struct map_node *left, *right, *parent; }; + +map* map_new(cmp) +cmp_func cmp; +{ + map *tmp; + + tmp = malloc(sizeof(map)); + assert(tmp); + + tmp->cmp = cmp; + tmp->key = tmp->val = tmp->left = tmp->right = tmp->parent = NULL; + + return tmp; +} |