Add database_hosts_destroy
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 11 Mar 2010 13:54:53 +0000 (14:54 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 11 Mar 2010 13:54:53 +0000 (14:54 +0100)
src/database.c
src/database.h

index 8ffbee2..42b3c3a 100644 (file)
@@ -414,6 +414,25 @@ database_hosts_t database_hosts_create(void)
     return p;
 }
 
+void database_hosts_destroy(database_hosts_t *pp)
+{
+    if (*pp)
+    {
+        struct host *p = (*pp)->hosts;
+        while (p)
+        {
+            struct host *p_next = p->next;
+            yaz_mutex_destroy(&p->mutex);
+            xfree(p->ipport);
+            xfree(p->hostport);
+            xfree(p);
+            p = p_next;
+        }
+        yaz_mutex_destroy(&(*pp)->mutex);
+        xfree(*pp);
+    }
+}
+
 /*
  * Local variables:
  * c-basic-offset: 4
index aabf394..72b5f64 100644 (file)
@@ -33,4 +33,5 @@ int resolve_database(struct conf_service *service, struct database *db);
 struct database *new_database(const char *id, NMEM nmem);
 
 database_hosts_t database_hosts_create(void);
+void database_hosts_destroy(database_hosts_t *);
 #endif