diff options
-rw-r--r-- | tests/unit/unit1309.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/tests/unit/unit1309.c b/tests/unit/unit1309.c index 6581642e8..1304ba18e 100644 --- a/tests/unit/unit1309.c +++ b/tests/unit/unit1309.c @@ -70,25 +70,20 @@ UNITTEST_START /* number of nodes to add to the splay tree */ #define NUM_NODES 50 - struct Curl_tree *root, *t; - void *ptrs[NUM_NODES]; + struct Curl_tree *root; + struct Curl_tree nodes[NUM_NODES]; int rc; int i; root = NULL; /* the empty tree */ for(i = 0; i < NUM_NODES; i++) { struct timeval key; - ptrs[i] = t = malloc(sizeof(struct Curl_tree)); - if(!t) { - puts("out of memory!"); - return 0; - } key.tv_sec = 0; key.tv_usec = (541*i)%1023; - t->payload = (void *)key.tv_usec; /* for simplicity */ - root = Curl_splayinsert(key, root, t); + nodes[i].payload = (void *)key.tv_usec; /* for simplicity */ + root = Curl_splayinsert(key, root, &nodes[i]); } puts("Result:"); @@ -99,11 +94,13 @@ UNITTEST_START printf("Tree look:\n"); splayprint(root, 0, 1); printf("remove pointer %d, payload %ld\n", rem, - (long)((struct Curl_tree *)ptrs[rem])->payload); - rc = Curl_splayremovebyaddr(root, (struct Curl_tree *)ptrs[rem], &root); - if(rc) + (long)(nodes[rem].payload)); + rc = Curl_splayremovebyaddr(root, &nodes[rem], &root); + if(rc) { /* failed! */ printf("remove %d failed!\n", rem); + fail("remove"); + } } UNITTEST_STOP |