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
termlist: generate empty <list/> for non-matched entries
[pazpar2-moved-to-github.git]
/
src
/
session.c
diff --git
a/src/session.c
b/src/session.c
index
6dce5d9
..
16b7146
100644
(file)
--- a/
src/session.c
+++ b/
src/session.c
@@
-1069,7
+1069,8
@@
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;
-
+ int must_generate_empty = 1; /* bug 5350 */
+
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;
@@
-1081,6
+1082,7
@@
void perform_termlist(struct http_channel *c, struct session *se,
wrbuf_puts(c->wrbuf, "<list name=\"");
wrbuf_xmlputs(c->wrbuf, tname);
wrbuf_puts(c->wrbuf, "\">\n");
wrbuf_puts(c->wrbuf, "<list name=\"");
wrbuf_xmlputs(c->wrbuf, tname);
wrbuf_puts(c->wrbuf, "\">\n");
+ must_generate_empty = 0;
p = termlist_highscore(se->termlists[i].termlist, &len);
if (p)
p = termlist_highscore(se->termlists[i].termlist, &len);
if (p)
@@
-1115,6
+1117,13
@@
void perform_termlist(struct http_channel *c, struct session *se,
targets_termlist_nb(c->wrbuf, se, num, c->nmem);
wrbuf_puts(c->wrbuf, "</list>\n");
targets_termlist_nb(c->wrbuf, se, num, c->nmem);
wrbuf_puts(c->wrbuf, "</list>\n");
+ must_generate_empty = 0;
+ }
+ if (must_generate_empty)
+ {
+ wrbuf_puts(c->wrbuf, "<list name=\"");
+ wrbuf_xmlputs(c->wrbuf, names[j]);
+ wrbuf_puts(c->wrbuf, "\"/>\n");
}
}
session_leave(se);
}
}
session_leave(se);