X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Falvis.c;h=2a24a64cbce91d1256610bda864a1cce375bf701;hb=2de23570d27a0d5f4683e4c9ebd9c13eab2fc2a1;hp=10c603af118dd304e7dca76e8cad9fc58046e128;hpb=40294b8507793f9447a647bfe2f961d232091456;p=idzebra-moved-to-github.git diff --git a/index/alvis.c b/index/alvis.c index 10c603a..2a24a64 100644 --- a/index/alvis.c +++ b/index/alvis.c @@ -1,4 +1,4 @@ -/* $Id: alvis.c,v 1.18 2007-08-21 07:49:18 adam Exp $ +/* $Id: alvis.c,v 1.19 2007-08-31 07:02:24 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -487,7 +487,8 @@ static int extract_doc(struct filter_info *tinfo, struct recExtractCtrl *p, xmlDocDumpMemory(doc, &buf_out, &len_out); if (p->flagShowRecords) fwrite(buf_out, len_out, 1, stdout); - (*p->setStoreData)(p, buf_out, len_out); + if (p->setStoreData) + (*p->setStoreData)(p, buf_out, len_out); xmlFree(buf_out); xmlFreeDoc(doc); @@ -573,7 +574,7 @@ static int filter_extract(void *clientData, struct recExtractCtrl *p) struct filter_info *tinfo = clientData; odr_reset(tinfo->odr); - if (tinfo->split_level == 0) + if (tinfo->split_level == 0 || p->setStoreData == 0) return extract_full(tinfo, p); else return extract_split(tinfo, p);