X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fdatabase.c;h=fb03b403ee05bbd49200b40cd691c21ace73f3b4;hb=b13c46b73ad2b8e85340396cfcb0b46421db1d15;hp=fd88d0b6bfff1064ade3ba3a3a800e689f57037e;hpb=d5225315828a7592c1e91a39912f27f05d177062;p=pazpar2-moved-to-github.git diff --git a/src/database.c b/src/database.c index fd88d0b..fb03b40 100644 --- a/src/database.c +++ b/src/database.c @@ -122,28 +122,22 @@ struct database *new_database(const char *id, NMEM nmem) return db; } -static struct database *load_database(const char *id, - struct conf_service *service) -{ - struct database *db; - - db = new_database(id, service->nmem); - - db->next = service->databases; - service->databases = db; - - return db; -} - // Return a database structure by ID. Load and add to list if necessary // new==1 just means we know it's not in the list -struct database *find_database(const char *id, struct conf_service *service) +struct database *create_database_for_service(const char *id, + struct conf_service *service) { struct database *p; for (p = service->databases; p; p = p->next) if (!strcmp(p->url, id)) return p; - return load_database(id, service); + + p = new_database(id, service->nmem); + + p->next = service->databases; + service->databases = p; + + return p; } // This whole session_grep database thing should be moved elsewhere