-/* $Id: pazpar2.c,v 1.35 2007-01-16 03:38:49 quinn Exp $ */
+/* $Id: pazpar2.c,v 1.38 2007-01-16 19:42:20 quinn Exp $ */
#include <stdlib.h>
#include <stdio.h>
struct record_cluster *cluster;
struct session *se = cl->session;
xmlChar *mergekey, *mergekey_norm;
- xmlChar *type;
- xmlChar *value;
+ xmlChar *type = 0;
+ xmlChar *value = 0;
struct conf_service *service = global_parameters.server->service;
if (!xdoc)
}
relevance_newrec(se->relevance, cluster);
- type = value = 0;
for (n = root->children; n; n = n->next)
{
if (type)
type = xmlGetProp(n, "type");
value = xmlNodeListGetString(xdoc, n->children, 0);
+
+ if (!type || !value)
+ continue;
+
// First, find out what field we're looking at
for (imeta = 0; imeta < service->num_metadata; imeta++)
if (!strcmp(type, service->metadata[imeta].name))
(*wheretoput)->data.number.min = first;
if (last > (*wheretoput)->data.number.max)
(*wheretoput)->data.number.max = last;
- if (sk)
- {
- union data_types *sdata = cluster->sortkeys[md->sortkey_offset];
- sdata->number.min = first;
- sdata->number.max = last;
- }
}
#ifdef GAGA
if (sk)
else
yaz_log(YLOG_WARN, "Unexpected element %s in internal record", n->name);
}
+ if (type)
+ xmlFree(type);
+ if (value)
+ xmlFree(value);
xmlFreeDoc(xdoc);
" -h [host:]port (REST protocol listener)\n"
" -C cclconfig\n"
" -s simpletargetfile\n"
- " -p hostname[:portno] (HTTP proxy)\n");
+ " -p hostname[:portno] (HTTP proxy)\n"
+ " -d (show internal records)\n");
exit(1);
}
}