/* This file is part of the Zebra server.
- Copyright (C) 1995-2008 Index Data
+ Copyright (C) 1994-2009 Index Data
Zebra 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
{
xmlChar *text = xmlNodeGetContent(node);
size_t text_len = strlen((const char *)text);
-
+
/* if there is no text, we do not need to proceed */
if (text_len)
{
+ /* keep seqno base so that all text will have
+ identical seqno's for multiple fields , e.g
+ <z:index name="title:w any:w title:p">.. */
+
+ zint seqno_base = recword->seqno;
+ zint seqno_max = recword->seqno;
+
+
const char *look = index_p;
const char *bval;
const char *eval;
/* actually indexing the text given */
+ recword->seqno = seqno_base;
recword->index_name = (const char *)index;
if (*type)
recword->index_type = (const char *) type;
(extctr->tokenAdd)(recword);
+ if (seqno_max < recword->seqno)
+ seqno_max = recword->seqno;
+
/* eat whitespaces */
if (*look && ' ' == *look)
{
look++;
}
}
+ recword->seqno = seqno_max;
}
xmlFree(text);
}
{
xmlChar *buf_out;
int len_out;
+ xmlDocDumpMemory(doc, &buf_out, &len_out);
#if 0
FILE *outf = fopen("extract.xml", "w");
- xmlDocDumpMemory(doc, &buf_out, &len_out);
fwrite(buf_out, 1, len_out, outf);
-#endif
- yaz_log(YLOG_LOG, "Extract Doc: %.*s", len_out, buf_out);
-#if 0
fclose(outf);
#endif
+ yaz_log(YLOG_LOG, "Extract Doc: %.*s", len_out, buf_out);
}
if (p->setStoreData)
static int ioread_ret(void *context, char *buffer, int len)
{
struct recRetrieveCtrl *p = context;
- return p->stream->readf(p->stream, buffer, len);
+ int r = p->stream->readf(p->stream, buffer, len);
+ return r;
}
static int ioclose_ret(void *context)
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab