X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/348683aa59f63ac110c129f808c91fc3156ee14f..c0601d1e22c5c3749ea94c1c4359f9223b732fe4:/src/dict-splay.c diff --git a/src/dict-splay.c b/src/dict-splay.c index 2532c2d..1e47350 100644 --- a/src/dict-splay.c +++ b/src/dict-splay.c @@ -78,6 +78,7 @@ dict_splay(struct dict_node *node, const char *key) int res; if (!node) return NULL; + if (!key) return NULL; N.l = N.r = NULL; l = r = &N; @@ -228,6 +229,7 @@ dict_remove2(dict_t dict, const char *key, int no_dispose) if (!dict->root) return 0; + if (!key) return 0; verify(dict); dict->root = dict_splay(dict->root, key); if (irccasecmp(key, dict->root->key)) @@ -304,20 +306,20 @@ dict_sanity_check_node(struct dict_node *node, struct dict_sanity_struct *dss) { verify(node); if (!node->key) { - snprintf(dss->error, sizeof(dss->error), "Node %p had null key", node); + snprintf(dss->error, sizeof(dss->error), "Node %p had null key", (void*)node); return 1; } if (node->l) { if (dict_sanity_check_node(node->l, dss)) return 1; if (irccasecmp(node->l->key, node->key) >= 0) { - snprintf(dss->error, sizeof(dss->error), "Node %p's left child's key '%s' >= its key '%s'", node, node->l->key, node->key); + snprintf(dss->error, sizeof(dss->error), "Node %p's left child's key '%s' >= its key '%s'", (void*)node, node->l->key, node->key); return 1; } } if (node->r) { if (dict_sanity_check_node(node->r, dss)) return 1; if (irccasecmp(node->key, node->r->key) >= 0) { - snprintf(dss->error, sizeof(dss->error), "Node %p's right child's key '%s' <= its key '%s'", node, node->r->key, node->key); + snprintf(dss->error, sizeof(dss->error), "Node %p's right child's key '%s' <= its key '%s'", (void*)node, node->r->key, node->key); return 1; } }