X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/e9e9556d79dc57f41a65ce538f5b2fa1ae0dd6b6..0d694692c59504838ec2043ddfe670b3a9247faf:/tree234.c diff --git a/tree234.c b/tree234.c index f97837a1..7830aebb 100644 --- a/tree234.c +++ b/tree234.c @@ -6,10 +6,12 @@ #include #include +#include "puttymem.h" + #include "tree234.h" -#define mknew(typ) ( (typ *) malloc (sizeof (typ)) ) -#define sfree free +#define mknew(typ) ( (typ *) smalloc (sizeof (typ)) ) +/* #define sfree free */ #ifdef TEST #define LOG(x) (printf x) @@ -642,15 +644,17 @@ void *next234(enum234 *e) { * Test code for the 2-3-4 tree. This code maintains an alternative * representation of the data in the tree, in an array (using the * obvious and slow insert and delete functions). After each tree - * operation, the tree_valid() function is called, which ensures - * all the tree properties are preserved (node->child->parent - * always equals node; number of kids == number of elements + 1; - * all tree nodes are distinct; ordering property between elements - * of a node and elements of its children is preserved) and also - * ensures the list represented by the tree is the same list it - * should be. (This last check also verifies the ordering - * properties, because the `same list it should be' is by - * definition correctly ordered.) + * operation, the verify() function is called, which ensures all + * the tree properties are preserved (node->child->parent always + * equals node; number of kids == 0 or number of elements + 1; + * ordering property between elements of a node and elements of its + * children is preserved; tree has the same depth everywhere; every + * node has at least one element) and also ensures the list + * represented by the tree is the same list it should be. (This + * last check also verifies the ordering properties, because the + * `same list it should be' is by definition correctly ordered. It + * also ensures all nodes are distinct, because the enum functions + * would get caught in a loop if not.) */ #include @@ -817,8 +821,8 @@ void addtest(void *elem) { if (arraysize < arraylen+1) { arraysize = arraylen+1+256; - array = (array == NULL ? malloc(arraysize*sizeof(*array)) : - realloc(array, arraysize*sizeof(*array))); + array = (array == NULL ? smalloc(arraysize*sizeof(*array)) : + srealloc(array, arraysize*sizeof(*array))); } i = 0;