Make memory management uniform: _everything_ now goes through the
[u/mdw/putty] / tree234.c
index f97837a..7830aeb 100644 (file)
--- a/tree234.c
+++ b/tree234.c
@@ -6,10 +6,12 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#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 <stdarg.h>
@@ -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;