summaryrefslogtreecommitdiffhomepage
path: root/src/anonymous.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/anonymous.c')
-rw-r--r--src/anonymous.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/anonymous.c b/src/anonymous.c
index 3049acf..91e490c 100644
--- a/src/anonymous.c
+++ b/src/anonymous.c
@@ -23,26 +23,26 @@
#include "main.h"
#include "anonymous.h"
-#include "hashmap.h"
+#include "hsearch.h"
#include "heap.h"
#include "log.h"
#include "conf.h"
-short int is_anonymous_enabled (void)
+short int is_anonymous_enabled (struct config_s *conf)
{
- return (config.anonymous_map != NULL) ? 1 : 0;
+ return (conf->anonymous_map != NULL) ? 1 : 0;
}
/*
* Search for the header. This function returns a positive value greater than
* zero if the string was found, zero if it wasn't and negative upon error.
*/
-int anonymous_search (const char *s)
+int anonymous_search (struct config_s *conf, const char *s)
{
assert (s != NULL);
- assert (config.anonymous_map != NULL);
+ assert (conf->anonymous_map != NULL);
- return hashmap_search (config.anonymous_map, s);
+ return !!htab_find (conf->anonymous_map, s);
}
/*
@@ -51,23 +51,21 @@ int anonymous_search (const char *s)
* Return -1 if there is an error, otherwise a 0 is returned if the insert was
* successful.
*/
-int anonymous_insert (const char *s)
+int anonymous_insert (struct config_s *conf, char *s)
{
- char data = 1;
-
assert (s != NULL);
- if (!config.anonymous_map) {
- config.anonymous_map = hashmap_create (32);
- if (!config.anonymous_map)
+ if (!conf->anonymous_map) {
+ conf->anonymous_map = htab_create (32);
+ if (!conf->anonymous_map)
return -1;
}
- if (hashmap_search (config.anonymous_map, s) > 0) {
- /* The key was already found, so return a positive number. */
+ if (htab_find (conf->anonymous_map, s)) {
+ /* The key was already found. */
return 0;
}
/* Insert the new key */
- return hashmap_insert (config.anonymous_map, s, &data, sizeof (data));
+ return htab_insert (conf->anonymous_map, s, HTV_N(1)) ? 0 : -1;
}