X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fnormalize_record.c;h=fa39da2aba316ebba218e5a1b0fb2b5667f8ea55;hb=8dca41e227ef955baccff56add572b72d69f7b66;hp=322566eb4e5f2c56efab062597f19b1f5e275322;hpb=cdf7e43aa085ccd9ee8d8c9129bc1cdb0cc0c547;p=pazpar2-moved-to-github.git diff --git a/src/normalize_record.c b/src/normalize_record.c index 322566e..fa39da2 100644 --- a/src/normalize_record.c +++ b/src/normalize_record.c @@ -1,5 +1,5 @@ /* This file is part of Pazpar2. - Copyright (C) 2006-2009 Index Data + Copyright (C) 2006-2010 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 @@ -45,7 +45,7 @@ struct normalize_record_s { NMEM nmem; }; -normalize_record_t normalize_record_create(struct conf_service *service, +normalize_record_t normalize_record_create(struct conf_config *conf, const char *spec) { NMEM nmem = nmem_create(); @@ -60,7 +60,7 @@ normalize_record_t normalize_record_create(struct conf_service *service, nmem_strsplit(nt->nmem, ",", spec, &stylesheets, &num); for (i = 0; i < num; i++) { - WRBUF fname = conf_get_fname(service, stylesheets[i]); + WRBUF fname = conf_get_fname(conf, stylesheets[i]); *m = nmem_malloc(nt->nmem, sizeof(**m)); (*m)->marcmap = NULL; @@ -137,17 +137,17 @@ int normalize_record_transform(normalize_record_t nt, xmlDoc **doc, { new = marcmap_apply(m->marcmap, *doc); } - + root = xmlDocGetRootElement(new); + xmlFreeDoc(*doc); if (!new || !root || !root->children) { if (new) xmlFreeDoc(new); - xmlFreeDoc(*doc); + *doc = 0; return -1; } - xmlFreeDoc(*doc); *doc = new; } }