X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fmod_dom.c;h=babee870da05c9b7138a6263bb60841624659141;hb=527dab66d9847bb7f8a931c558306a070064bf25;hp=39733aff475342d178e04b96c232128dd35eb639;hpb=a8d9ca813f29e7d1dd0e04ee5dafca2d25f38202;p=idzebra-moved-to-github.git diff --git a/index/mod_dom.c b/index/mod_dom.c index 39733af..babee87 100644 --- a/index/mod_dom.c +++ b/index/mod_dom.c @@ -1,4 +1,4 @@ -/* $Id: mod_dom.c,v 1.38 2007-06-19 19:39:54 adam Exp $ +/* $Id: mod_dom.c,v 1.42 2007-12-13 19:59:21 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -780,7 +780,7 @@ static void index_value_of(struct filter_info *tinfo, recword->index_name = (const char *)index; if (type && *type) - recword->index_type = *type; + recword->index_type = (const char *) type; /* writing debug out */ if (extctr->flagShowRecords) @@ -790,10 +790,6 @@ static void index_value_of(struct filter_info *tinfo, type ? (const char *) type : "null", text ? (const char *) text : "null"); - /* actually indexing the text given */ - recword->index_name = (const char *)index; - if (type && *type) - recword->index_type = *type; (extctr->tokenAdd)(recword); /* eat whitespaces */ @@ -845,7 +841,6 @@ static void set_record_info(struct filter_info *tinfo, else dom_log(YLOG_WARN, tinfo, node, "bad @type value: %s", type_p); extctr->action = action; - yaz_log(YLOG_LOG, "In mod_dom.c: setting action to %d", action); } if (tinfo->record_info_invoked == 1) @@ -1119,7 +1114,8 @@ static int convert_extract_doc(struct filter_info *tinfo, else xmlDocDumpMemory(store_doc ? store_doc : doc, &buf_out, &len_out); - (*p->setStoreData)(p, buf_out, len_out); + if (p->setStoreData) + (*p->setStoreData)(p, buf_out, len_out); xmlFree(buf_out); if (store_doc) @@ -1305,6 +1301,9 @@ static int filter_extract(void *clientData, struct recExtractCtrl *p) return RECCTRL_EXTRACT_ERROR_GENERIC; odr_reset(tinfo->odr_record); + + if (p->setStoreData == 0) + return extract_xml_full(tinfo, input, p); switch(input->type) { case DOM_INPUT_XMLREADER: