# HG changeset patch # User Michael Pavone # Date 1485130382 28800 # Node ID 110251ea369eeaeb9c66e3247dfce7a7f30a60d5 # Parent 9de9d2c6ebe551327a3796bae1b506f5aabb82ca Consting up some parameters to ternary tree functions diff -r 9de9d2c6ebe5 -r 110251ea369e tern.c --- a/tern.c Thu Jan 19 09:32:34 2017 -0800 +++ b/tern.c Sun Jan 22 16:13:02 2017 -0800 @@ -10,7 +10,7 @@ #include #include "util.h" -tern_node * tern_insert(tern_node * head, char * key, tern_val value) +tern_node * tern_insert(tern_node * head, char const * key, tern_val value) { tern_node ** cur = &head; while(*key) @@ -49,7 +49,7 @@ return head; } -int tern_find(tern_node * head, char * key, tern_val *ret) +int tern_find(tern_node * head, char const * key, tern_val *ret) { tern_node * cur = head; while (cur) @@ -71,7 +71,7 @@ return 0; } -tern_node * tern_find_prefix(tern_node * head, char * key) +tern_node * tern_find_prefix(tern_node * head, char const * key) { tern_node * cur = head; while (cur && *key) @@ -88,7 +88,7 @@ return cur; } -intptr_t tern_find_int(tern_node * head, char * key, intptr_t def) +intptr_t tern_find_int(tern_node * head, char const * key, intptr_t def) { tern_val ret; if (tern_find(head, key, &ret)) { @@ -97,14 +97,14 @@ return def; } -tern_node * tern_insert_int(tern_node * head, char * key, intptr_t value) +tern_node * tern_insert_int(tern_node * head, char const * key, intptr_t value) { tern_val val; val.intval = value; return tern_insert(head, key, val); } -void * tern_find_ptr_default(tern_node * head, char * key, void * def) +void * tern_find_ptr_default(tern_node * head, char const * key, void * def) { tern_val ret; if (tern_find(head, key, &ret)) { @@ -117,12 +117,12 @@ return def; } -void * tern_find_ptr(tern_node * head, char * key) +void * tern_find_ptr(tern_node * head, char const * key) { return tern_find_ptr_default(head, key, NULL); } -tern_val tern_find_path_default(tern_node *head, char *key, tern_val def) +tern_val tern_find_path_default(tern_node *head, char const *key, tern_val def) { tern_val ret; while (*key) @@ -141,21 +141,21 @@ return ret; } -tern_val tern_find_path(tern_node *head, char *key) +tern_val tern_find_path(tern_node *head, char const *key) { tern_val def; def.ptrval = NULL; return tern_find_path_default(head, key, def); } -tern_node * tern_insert_ptr(tern_node * head, char * key, void * value) +tern_node * tern_insert_ptr(tern_node * head, char const * key, void * value) { tern_val val; val.ptrval = value; return tern_insert(head, key, val); } -tern_node * tern_insert_node(tern_node *head, char *key, tern_node *value) +tern_node * tern_insert_node(tern_node *head, char const *key, tern_node *value) { tern_val val; val.intval = ((intptr_t)value) | 1; diff -r 9de9d2c6ebe5 -r 110251ea369e tern.h --- a/tern.h Thu Jan 19 09:32:34 2017 -0800 +++ b/tern.h Sun Jan 22 16:13:02 2017 -0800 @@ -27,17 +27,17 @@ typedef void (*iter_fun)(char *key, tern_val val, void *data); -tern_node * tern_insert(tern_node * head, char * key, tern_val value); -int tern_find(tern_node * head, char * key, tern_val *ret); -tern_node * tern_find_prefix(tern_node * head, char * key); -intptr_t tern_find_int(tern_node * head, char * key, intptr_t def); -tern_node * tern_insert_int(tern_node * head, char * key, intptr_t value); -void * tern_find_ptr_default(tern_node * head, char * key, void * def); -void * tern_find_ptr(tern_node * head, char * key); -tern_val tern_find_path_default(tern_node *head, char *key, tern_val def); -tern_val tern_find_path(tern_node *head, char *key); -tern_node * tern_insert_ptr(tern_node * head, char * key, void * value); -tern_node * tern_insert_node(tern_node *head, char *key, tern_node *value); +tern_node * tern_insert(tern_node * head, char const * key, tern_val value); +int tern_find(tern_node * head, char const * key, tern_val *ret); +tern_node * tern_find_prefix(tern_node * head, char const * key); +intptr_t tern_find_int(tern_node * head, char const * key, intptr_t def); +tern_node * tern_insert_int(tern_node * head, char const * key, intptr_t value); +void * tern_find_ptr_default(tern_node * head, char const * key, void * def); +void * tern_find_ptr(tern_node * head, char const * key); +tern_val tern_find_path_default(tern_node *head, char const *key, tern_val def); +tern_val tern_find_path(tern_node *head, char const *key); +tern_node * tern_insert_ptr(tern_node * head, char const * key, void * value); +tern_node * tern_insert_node(tern_node *head, char const *key, tern_node *value); uint32_t tern_count(tern_node *head); void tern_foreach(tern_node *head, iter_fun fun, void *data); char * tern_int_key(uint32_t key, char * buf);