Code

Git 1.7.9.6
[git.git] / test-treap.c
index cdba5111e19cd850f262108a330ce5d4ce63a166..294d7ee2737099c94a7d768d47c6a316a6860cd7 100644 (file)
@@ -31,16 +31,21 @@ static void strtonode(struct int_node *item, const char *s)
 int main(int argc, char *argv[])
 {
        struct strbuf sb = STRBUF_INIT;
-       struct trp_root root = { ~0 };
+       struct trp_root root = { ~0U };
        uint32_t item;
 
        if (argc != 1)
                usage("test-treap < ints");
 
        while (strbuf_getline(&sb, stdin, '\n') != EOF) {
-               item = node_alloc(1);
-               strtonode(node_pointer(item), sb.buf);
-               treap_insert(&root, node_pointer(item));
+               struct int_node *node = node_pointer(node_alloc(1));
+
+               item = node_offset(node);
+               strtonode(node, sb.buf);
+               node = treap_insert(&root, node_pointer(item));
+               if (node_offset(node) != item)
+                       die("inserted %"PRIu32" in place of %"PRIu32"",
+                               node_offset(node), item);
        }
 
        item = node_offset(treap_first(&root));