From 068d222588c4f7886d0f0c6429e2428ae5d29f4d Mon Sep 17 00:00:00 2001
From: Jan Kadlec <jan.kadlec@nic.cz>
Date: Tue, 2 Aug 2011 13:09:37 +0200
Subject: [PATCH] Temp commit

---
 src/common/general-tree.c   | 27 +--------------------------
 src/common/modified_tree.h  | 34 +++++++++++++++++-----------------
 src/dnslib/node.c           |  1 -
 src/dnslib/zone-contents.c  |  1 -
 src/dnslib/zone-dump-text.c |  1 -
 src/dnslib/zone-dump.c      |  2 +-
 src/dnslib/zone-load.c      |  7 +++++++
 src/dnslib/zonedb.c         |  6 +++---
 8 files changed, 29 insertions(+), 50 deletions(-)

diff --git a/src/common/general-tree.c b/src/common/general-tree.c
index 1e7f84ec8..c382fbfb0 100644
--- a/src/common/general-tree.c
+++ b/src/common/general-tree.c
@@ -1,37 +1,12 @@
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <assert.h>
 #include "common/general-tree.h"
 #include "common/errors.h"
 
 MOD_TREE_DEFINE(general_tree_node, avl);
 
-//static int gen_cmp_func(struct general_tree_node *n1,
-//                        struct general_tree_node *n2)
-//{
-//	void *data1 = n1->data;
-//	void *data2 = n2->data;
-//	assert(n1->cmp_func == n2->cmp_func);
-//	assert(n1->cmp_func);
-//	return n1->cmp_func(data1, data2);
-//}
-
-//static int gen_mrg_func(struct general_tree_node **n1,
-//                        struct general_tree_node **n2)
-//{
-//	void *data1 = (*n1)->data;
-//	void *data2 = (*n2)->data;
-//	assert((*n1)->mrg_func == (*n2)->mrg_func);
-//	return (*n1)->mrg_func(&data1, &data2);
-//}
-
-//static void gen_app_func(struct general_tree_node *n1, void *data)
-//{
-//	void *data_from_node = n1->data;
-//	assert(n1->app_func);
-//	n1->app_func(data_from_node, data);
-//}
-
 static void gen_rem_func(struct general_tree_node *n1)
 {
 	free(n1);
diff --git a/src/common/modified_tree.h b/src/common/modified_tree.h
index 8447bfc25..2ec1e4078 100644
--- a/src/common/modified_tree.h
+++ b/src/common/modified_tree.h
@@ -55,11 +55,11 @@
 #define MOD_TREE_HEAD(name, type)				\
   struct name {						\
     struct type *th_root;				\
-    int  (*th_cmp)(struct type *lhs, struct type *rhs);	\
-    int (*th_mrg)(struct type **lhs, struct type **rhs);	\
+    int  (*th_cmp)(void *lhs, void *rhs);	\
+    int (*th_mrg)(void **lhs, void **rhs);	\
   }
 
-#define MOD_TREE_INITIALIZER(cmp) { 0, cmp, mrg}
+#define MOD_TREE_INITIALIZER(cmp, mrg) { 0, cmp, mrg}
 
 #define MOD_TREE_DELTA(self, field)								\
   (( (((self)->field.avl_left)  ? (self)->field.avl_left->field.avl_height  : 0))	\
@@ -113,7 +113,7 @@
   }													\
 													\
   struct node *MOD_TREE_INSERT_##node##_##field								\
-    (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs), int (*merge)(struct node **lhs, struct node **rhs))\
+    (struct node *self, struct node *elm, int (*compare)(void *lhs, void *rhs), int (*merge)(void **lhs, void **rhs))\
   {													\
     if (!self)												\
       return elm;											\
@@ -130,7 +130,7 @@
   }													\
 													\
   struct node *MOD_TREE_FIND_##node##_##field								\
-    (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs))		\
+    (struct node *self, struct node *elm, int (*compare)(void *lhs, void *rhs))			\
   {													\
     if (!compare)											\
       return 0;												\
@@ -145,7 +145,7 @@
   }													\
 													\
   int MOD_TREE_FIND_LESS_EQUAL_##node##_##field								\
-    (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs), struct node **found, struct node **prev)		\
+    (struct node *self, struct node *elm, int (*compare)(void *lhs, void *rhs), struct node **found, struct node **prev)		\
   {													\
     if (!self)												\
       return 0;												\
@@ -163,7 +163,7 @@
     } else {												\
       *found = self;											\
       *prev = self;											\
-      return MOD_TREE_FIND_LESS_EQUAL_##node##_##field(self->field.avl_right, elm, compare, found, prev);			\
+      return MOD_TREE_FIND_LESS_EQUAL_##node##_##field(self->field.avl_right, elm, compare, found, prev);	\
     }													\
   }													\
 													\
@@ -176,7 +176,7 @@
   }													\
 													\
   struct node *MOD_TREE_REMOVE_##node##_##field								\
-    (struct node *self, struct node *elm, int (*compare)(struct node *lhs, struct node *rhs), void (*del)(struct node *lhs))		\
+    (struct node *self, struct node *elm, int (*compare)(void *lhs, void *rhs), void (*del)(struct node *lhs))		\
   {													\
     if (!self) return 0;										\
 													\
@@ -196,7 +196,7 @@
   }													\
 													\
   void MOD_TREE_FORWARD_APPLY_ALL_##node##_##field								\
-    (struct node *self, void (*function)(struct node *node, void *data), void *data)			\
+    (struct node *self, void (*function)(void *node, void *data), void *data)			\
   {													\
     if (self)												\
       {													\
@@ -229,25 +229,25 @@
   }													\
 												\
 void MOD_TREE_DESTROY_ALL_##node##_##field							\
-  (struct node *self, void (*function)(struct node *node, void *data), void(*dest)(struct node *node), void *data)			\
+  (struct node *self, void (*function)(void *node, void *data), void(*dest)(struct node *node), void *data)			\
 {													\
   if (self)												\
     {													\
-      MOD_TREE_POST_ORDER_APPLY_ALL_##node##_##field(self->field.avl_left, function, data);			\
-      MOD_TREE_POST_ORDER_APPLY_ALL_##node##_##field(self->field.avl_right, function, data);			\
-      if (function != NULL)											\
-        function(self->data, data);										\
+      MOD_TREE_DESTROY_ALL_##node##_##field(self->field.avl_left, function, dest, data);		\
+      MOD_TREE_DESTROY_ALL_##node##_##field(self->field.avl_right, function, dest, data);		\
+      if (function != NULL)										\
+         function(self->data, data);									\
       dest(self);											\
     }													\
 }													\
 													\
-  void MOD_TREE_REVERSE_APPLY_POST_ALL_##node##_##field								\
+  void MOD_TREE_REVERSE_APPLY_POST_ALL_##node##_##field							\
     (struct node *self, void (*function)(struct node *node, void *data), void *data)			\
   {													\
     if (self)												\
       {													\
-        MOD_TREE_REVERSE_APPLY_POST_ALL_##node##_##field(self->field.avl_right, function, data);			\
-        MOD_TREE_REVERSE_APPLY_POST_ALL_##node##_##field(self->field.avl_left, function, data);			\
+        MOD_TREE_REVERSE_APPLY_POST_ALL_##node##_##field(self->field.avl_right, function, data);	\
+        MOD_TREE_REVERSE_APPLY_POST_ALL_##node##_##field(self->field.avl_left, function, data);		\
         function(self, data);										\
       }													\
 }
diff --git a/src/dnslib/node.c b/src/dnslib/node.c
index f6135f3fa..2f4379c4e 100644
--- a/src/dnslib/node.c
+++ b/src/dnslib/node.c
@@ -729,7 +729,6 @@ void dnslib_node_free_rrsets(dnslib_node_t *node, int free_rdata_dnames)
 	}
 
 	gen_tree_destroy(&node->rrset_tree, NULL, NULL);
-	assert(node->rrset_tree == NULL);
 }
 
 /*----------------------------------------------------------------------------*/
diff --git a/src/dnslib/zone-contents.c b/src/dnslib/zone-contents.c
index bb004e796..3f5ffcbf1 100644
--- a/src/dnslib/zone-contents.c
+++ b/src/dnslib/zone-contents.c
@@ -1879,7 +1879,6 @@ dnslib_node_t *dnslib_zone_contents_get_apex(const dnslib_zone_contents_t *zone)
 
 int dnslib_zone_contents_adjust_dnames(dnslib_zone_contents_t *zone)
 {
-	return;
 	if (zone == NULL) {
 		return DNSLIB_EBADARG;
 	}
diff --git a/src/dnslib/zone-dump-text.c b/src/dnslib/zone-dump-text.c
index b9a92eae3..f7ba76a40 100644
--- a/src/dnslib/zone-dump-text.c
+++ b/src/dnslib/zone-dump-text.c
@@ -921,7 +921,6 @@ struct dump_param {
 
 void apex_node_dump_text(dnslib_node_t *node, FILE *f)
 {
-	int tmp = DNSLIB_RRTYPE_SOA;
 //	dnslib_rrset_t *tmp_rrset =
 //		(dnslib_rrset_t *)skip_find(node->rrsets,
 //		                            &tmp);
diff --git a/src/dnslib/zone-dump.c b/src/dnslib/zone-dump.c
index 58d7f04bf..bfd7b7ec2 100644
--- a/src/dnslib/zone-dump.c
+++ b/src/dnslib/zone-dump.c
@@ -1439,7 +1439,7 @@ static void dnslib_rdata_dump_binary(dnslib_rdata_t *rdata,
 
 			if (use_ids) {
 				/* Write ID. */
-				debug_dnslib_zload("%s (%p)\n",
+				debug_dnslib_zload("%s \n",
 				    dnslib_dname_to_str(rdata->items[i].dname));
 				assert(rdata->items[i].dname->id != 0);
 
diff --git a/src/dnslib/zone-load.c b/src/dnslib/zone-load.c
index a65aa89da..8977a5cfb 100644
--- a/src/dnslib/zone-load.c
+++ b/src/dnslib/zone-load.c
@@ -241,6 +241,10 @@ static dnslib_rdata_t *dnslib_load_rdata(uint16_t type, FILE *f,
 				return NULL;
 			}
 
+			printf("%s - %d\n",
+			       dnslib_dname_to_str(id_array[dname_id]),
+			       in_the_zone);
+
 			if(!fread_wrapper(&has_wildcard, sizeof(uint8_t),
 				       1, f)) {
 				load_rdata_purge(rdata, items, i, type);
@@ -260,6 +264,9 @@ static dnslib_rdata_t *dnslib_load_rdata(uint16_t type, FILE *f,
 				if (id_array[dname_id]->node != NULL) {
 					dnslib_node_free(&id_array[dname_id]->
 							 node, 0, 0);
+//					printf("%p %s\n", id_array[dname_id]->node,
+	//				       dnslib_dname_to_str(id_array[dname_id]));
+		//			getchar();
 				}
 				/* Also sets node to NULL! */
 			}
diff --git a/src/dnslib/zonedb.c b/src/dnslib/zonedb.c
index 1b1b6a672..af30f3cd2 100644
--- a/src/dnslib/zonedb.c
+++ b/src/dnslib/zonedb.c
@@ -183,7 +183,7 @@ int dnslib_zonedb_remove_zone(dnslib_zonedb_t *db, dnslib_dname_t *zone_name,
 dnslib_zone_t *dnslib_zonedb_find_zone(const dnslib_zonedb_t *db,
                                        const dnslib_dname_t *zone_name)
 {
-	dnslib_zone_t dummy_zone;
+	dnslib_zone_t const dummy_zone;
 	dummy_zone.name = zone_name;
 	return (dnslib_zone_t *)gen_tree_find(db->zone_tree, &dummy_zone);
 }
@@ -197,7 +197,7 @@ const dnslib_zone_t *dnslib_zonedb_find_zone_for_name(dnslib_zonedb_t *db,
 		return NULL;
 	}
 
-	dnslib_zone_t dummy_zone;
+	dnslib_zone_t const dummy_zone;
 	dummy_zone.name = dname;
 	void *found = NULL;
 	int exact_match = gen_tree_find_less_or_equal(db->zone_tree,
@@ -267,7 +267,7 @@ void dnslib_zonedb_deep_free(dnslib_zonedb_t **db)
 	dnslib_zone_t *zone = NULL;
 
 
-DEBUG_DNSLIB_ZONEDB(
+//DEBUG_DNSLIB_ZONEDB(
 //	int i = 1;
 //	char *name = NULL;
 //	while (zn != NULL) {
-- 
GitLab