]> git.meshlink.io Git - meshlink/blobdiff - src/splay_tree.c
Fix compiling with -Wall -W.
[meshlink] / src / splay_tree.c
index 07478f2f7ce35fdd2a3e9ecad1954a0344404189..b9130d6bd784108605a6b6c2bdd2f18b792a59a7 100644 (file)
@@ -1,6 +1,6 @@
 /*
     splay_tree.c -- splay tree and linked list convenience
-    Copyright (C) 2004-2012 Guus Sliepen <guus@tinc-vpn.org>
+    Copyright (C) 2014-2017 Guus Sliepen <guus@meshlink.io>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
 /* Splay operation */
 
 static splay_node_t *splay_top_down(splay_tree_t *tree, const void *data, int *result) {
-       splay_node_t left = {NULL}, right = {NULL};
+       splay_node_t left = {}, right = {};
        splay_node_t *leftbottom = &left, *rightbottom = &right, *child, *grandchild;
        splay_node_t *root = tree->root;
        int c;
@@ -55,7 +55,7 @@ static splay_node_t *splay_top_down(splay_tree_t *tree, const void *data, int *r
                                grandchild->parent = NULL;
 
                                root = grandchild;
-                       } else if (c > 0 && (grandchild = child->right)) {
+                       } else if(c > 0 && (grandchild = child->right)) {
                                leftbottom->right = child;
                                child->parent = leftbottom;
                                leftbottom = child;
@@ -99,7 +99,7 @@ static splay_node_t *splay_top_down(splay_tree_t *tree, const void *data, int *r
                                grandchild->parent = NULL;
 
                                root = grandchild;
-                       } else if (c < 0 && (grandchild = child->left)) {
+                       } else if(c < 0 && (grandchild = child->left)) {
                                rightbottom->left = child;
                                child->parent = rightbottom;
                                rightbottom = child;
@@ -125,9 +125,8 @@ static splay_node_t *splay_top_down(splay_tree_t *tree, const void *data, int *r
                                root = child;
                                break;
                        }
-               } else {
+               } else
                        break;
-               }
        }
 
        /* Merge trees */
@@ -238,7 +237,7 @@ static void splay_bottom_up(splay_tree_t *tree, splay_node_t *node) {
 splay_tree_t *splay_alloc_tree(splay_compare_t compare, splay_action_t delete) {
        splay_tree_t *tree;
 
-       tree = xmalloc_and_zero(sizeof(splay_tree_t));
+       tree = xzalloc(sizeof(splay_tree_t));
        tree->compare = compare;
        tree->delete = delete;
 
@@ -250,7 +249,7 @@ void splay_free_tree(splay_tree_t *tree) {
 }
 
 splay_node_t *splay_alloc_node(void) {
-       return xmalloc_and_zero(sizeof(splay_node_t));
+       return xzalloc(sizeof(splay_node_t));
 }
 
 void splay_free_node(splay_tree_t *tree, splay_node_t *node) {
@@ -328,9 +327,8 @@ splay_node_t *splay_search_closest_node_nosplay(const splay_tree_t *tree, const
                                node = node->right;
                        else
                                break;
-               } else {
+               } else
                        break;
-               }
        }
 
        if(result)
@@ -398,6 +396,8 @@ splay_node_t *splay_insert_node(splay_tree_t *tree, splay_node_t *node) {
        splay_node_t *closest;
        int result;
 
+       node->left = node->right = node->parent = node->next = node->prev = NULL;
+
        if(!tree->root)
                splay_insert_top(tree, node);
        else {
@@ -511,9 +511,8 @@ void splay_unlink_node(splay_tree_t *tree, splay_node_t *node) {
        } else if(node->next) {
                tree->root = node->right;
                node->right->parent = NULL;
-       } else {
+       } else
                tree->root = NULL;
-       }
 
        tree->count--;
 }