diff options
| author | Benedict <benedict@0xb8000.de> | 2017-02-02 00:32:26 +0100 |
|---|---|---|
| committer | Benedict <benedict@0xb8000.de> | 2017-02-21 13:00:27 +0100 |
| commit | 1fd84c7dc70a0a6e6d8651fafa50c51dd697ae77 (patch) | |
| tree | af5de3c7952e071c8e27800c41d9f945fa86c9e7 /lib/util/set.h | |
| parent | 9dcc7348ad53cab8fd9396699de0177bac6729d5 (diff) | |
added random stuff which hasn't beend added because yeah
Diffstat (limited to 'lib/util/set.h')
| -rw-r--r-- | lib/util/set.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/util/set.h b/lib/util/set.h new file mode 100644 index 0000000..bd05351 --- /dev/null +++ b/lib/util/set.h @@ -0,0 +1,39 @@ +#ifndef __SET_H__ +#define __SET_H__ +#include <stdlib.h> +#include "hashtable.h" + +/** + * implementation of a set based on a hashtable implementation + * + **/ + +typedef struct hashtable set_t; + +void set_init(set_t *set) +{ + ht_init_sha1(set); +} + + +void set_insert(set_t *set, void *data, unsigned int data_length) +{ + ht_add(set, data, data_length, data, data_length); +} + +unsigned int set_is_in_set(set_t *set, void *data, unsigned int data_length) +{ + if(ht_get(set, data, data_length) == NULL) + return 0; + else + return 1; +} + +void set_delete(set_t *set, void *data, unsigned int data_length) +{ + ht_delete(set, data, data_length); +} + +#define SET_FOR_EACH + +#endif |
