From: Dan Fandrich Date: Sat, 11 Jun 2011 07:10:09 +0000 (-0700) Subject: Fixed test 1309 to pass the torture test X-Git-Tag: curl-7_21_7~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b688f2c2603df54e752dff50902305c1aa3a9364;p=thirdparty%2Fcurl.git Fixed test 1309 to pass the torture test Removing dynamic allocations also simplifies the test. --- diff --git a/tests/unit/unit1309.c b/tests/unit/unit1309.c index 6581642e81..1304ba18e9 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