From 2641476245d6cb1e9e85d37c6c539741aff2800d Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 11 Jan 2007 09:39:35 +0000 Subject: Duplicate fix of Kevin Lyles's bug from r7092. [originally from svn r7093] [r7092 == c06e371f55b97576421588d21d809c02c637584b in puzzles repository] --- tree234.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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); -- cgit v1.1