Fix Last minute change
[pazpar2-moved-to-github.git] / src / database.c
index ab425c7..5a312f5 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Pazpar2.
-   Copyright (C) 2006-2010 Index Data
+   Copyright (C) 2006-2011 Index Data
 
 Pazpar2 is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -112,6 +112,8 @@ static struct host *create_host(const char *hostport, iochan_man_t iochan_man)
     }
     pazpar2_mutex_create(&host->mutex, "host");
 
+    yaz_cond_create(&host->cond_ready);
+
     return host;
 }
 
@@ -166,6 +168,7 @@ struct database *new_database(const char *id, NMEM nmem)
     struct database *db;
     char hostport[256];
     char *dbname;
+    char *db_comment;
     struct setting *idset;
 
     if (strlen(id) > 255)
@@ -175,6 +178,9 @@ struct database *new_database(const char *id, NMEM nmem)
         *(dbname++) = '\0';
     else
         dbname = "";
+    db_comment = strchr(dbname, '#');
+    if (db_comment)
+        *db_comment = '\0';
     db = nmem_malloc(nmem, sizeof(*db));
     memset(db, 0, sizeof(*db));
     db->host = 0;
@@ -185,7 +191,7 @@ struct database *new_database(const char *id, NMEM nmem)
     db->errors = 0;
     db->explain = 0;
 
-    db->num_settings = PZ_NEGOTIATION_CHARSET+1;
+    db->num_settings = PZ_MAX_EOF;
     db->settings = nmem_malloc(nmem, sizeof(struct settings*) * 
                                db->num_settings);
     memset(db->settings, 0, sizeof(struct settings*) * db->num_settings);
@@ -424,6 +430,7 @@ void database_hosts_destroy(database_hosts_t *pp)
         {
             struct host *p_next = p->next;
             yaz_mutex_destroy(&p->mutex);
+            yaz_cond_destroy(&p->cond_ready);
             xfree(p->ipport);
             xfree(p->hostport);
             xfree(p);