]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/dict-splay.c
Fix typos and copy errors in memoserv help
[irc/evilnet/x3.git] / src / dict-splay.c
index 2532c2d3f3bb7a8843f6cdaff730abc05f373a3a..1e473503666e39b0e22a102c2b27bc5a6df0672b 100644 (file)
@@ -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;
         }
     }