X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/f15300499bce37cd28ea2ace0f2bd1c364fc835e..8f664e7e91c918cd13248f6b684580c4dd2cdb31:/tree234.c diff --git a/tree234.c b/tree234.c index 06738cb..26d188e 100644 --- a/tree234.c +++ b/tree234.c @@ -1440,8 +1440,11 @@ tree234 *copytree234(tree234 *t, copyfn234 copyfn, void *copyfnstate) { tree234 *t2; t2 = newtree234(t->cmp); - t2->root = copynode234(t->root, copyfn, copyfnstate); - t2->root->parent = NULL; + if (t->root) { + t2->root = copynode234(t->root, copyfn, copyfnstate); + t2->root->parent = NULL; + } else + t2->root = NULL; return t2; } @@ -2122,11 +2125,12 @@ int main(void) { tree = newtree234(mycmp); cmp = mycmp; arraylen = 0; - for (i = 0; i < 16; i++) { - addtest(strings[i]); + for (i = 0; i < 17; i++) { tree2 = copytree234(tree, NULL, NULL); splittest(tree2, array, arraylen); freetree234(tree2); + if (i < 16) + addtest(strings[i]); } freetree234(tree);