projects
/
pazpar2-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change termlist result to include also empty lists
[pazpar2-moved-to-github.git]
/
src
/
session.c
diff --git
a/src/session.c
b/src/session.c
index
9de7ed9
..
388e94e
100644
(file)
--- a/
src/session.c
+++ b/
src/session.c
@@
-1045,6
+1045,11
@@
void perform_termlist(struct http_channel *c, struct session *se,
for (j = 0; j < num_names; j++)
{
const char *tname;
for (j = 0; j < num_names; j++)
{
const char *tname;
+
+ wrbuf_puts(c->wrbuf, "<list name=\"");
+ wrbuf_xmlputs(c->wrbuf, names[j]);
+ wrbuf_puts(c->wrbuf, "\">\n");
+
for (i = 0; i < se->num_termlists; i++)
{
tname = se->termlists[i].name;
for (i = 0; i < se->num_termlists; i++)
{
tname = se->termlists[i].name;
@@
-1056,9
+1061,6
@@
void perform_termlist(struct http_channel *c, struct session *se,
if (p)
{
int i;
if (p)
{
int i;
- wrbuf_puts(c->wrbuf, "<list name=\"");
- wrbuf_xmlputs(c->wrbuf, tname);
- wrbuf_puts(c->wrbuf, "\">\n");
for (i = 0; i < len && i < num; i++)
{
// prevent sending empty term elements
for (i = 0; i < len && i < num; i++)
{
// prevent sending empty term elements
@@
-1075,19
+1077,15
@@
void perform_termlist(struct http_channel *c, struct session *se,
p[i]->frequency);
wrbuf_puts(c->wrbuf, "</term>\n");
}
p[i]->frequency);
wrbuf_puts(c->wrbuf, "</term>\n");
}
- wrbuf_puts(c->wrbuf, "</list>\n");
}
}
}
tname = "xtargets";
if (num_names > 0 && !strcmp(names[j], tname))
{
}
}
}
tname = "xtargets";
if (num_names > 0 && !strcmp(names[j], tname))
{
- wrbuf_puts(c->wrbuf, "<list name=\"");
- wrbuf_xmlputs(c->wrbuf, tname);
- wrbuf_puts(c->wrbuf, "\">\n");
targets_termlist_nb(c->wrbuf, se, num, c->nmem);
targets_termlist_nb(c->wrbuf, se, num, c->nmem);
- wrbuf_puts(c->wrbuf, "</list>\n");
}
}
+ wrbuf_puts(c->wrbuf, "</list>\n");
}
session_leave(se);
nmem_destroy(nmem_tmp);
}
session_leave(se);
nmem_destroy(nmem_tmp);
@@
-1667,6
+1665,9
@@
static int ingest_to_cluster(struct client *cl,
// merged metadata
rec_md = record_metadata_init(se->nmem, (const char *) value,
ser_md->type, 0);
// merged metadata
rec_md = record_metadata_init(se->nmem, (const char *) value,
ser_md->type, 0);
+ if (!rec_md)
+ continue;
+
wheretoput = &cluster->metadata[md_field_id];
// and polulate with data:
wheretoput = &cluster->metadata[md_field_id];
// and polulate with data: