PRINTF("Freeing node %ld\n", x->nodeID);
static int TraverseAndFree(TPatriciaTree *tree, TNode *x, NodeFreeFunction freeFunc, void *refCon){	TNode	*p;	int		err = 0;		AE_ASSERT(x, "No node");	AE_ASSERT(x->left && x->right, "Left or right child missing");			p = x->left;	if (p->bit < x->bit) {		err = TraverseAndFree(tree, p, freeFunc, refCon);		if (err != 0) return err;	}		p = x->right;	if (p->bit < x->bit) {		err = TraverseAndFree(tree, p, freeFunc, refCon);		if (err != 0) return err;	}	err = (*freeFunc)(x->data, x->key, refCon);	#ifdef VERBOSE	printf("Freeing node %ld\n", x->nodeID);#endif	free(x->key);	free(x);		return err;}