static void termlist_response(struct http_channel *c, struct http_session *s, const char *cmd_status)
{
struct http_request *rq = c->request;
- const char *name = http_argbyname(rq, "name");
- const char *nums = http_argbyname(rq, "num");
+ const char *name = http_argbyname(rq, "name");
+ const char *nums = http_argbyname(rq, "num");
+ const char *version = http_argbyname(rq, "version");
+ int version_no = 0;
+ if (version && strcmp(version, "")) {
+ version_no = atoi(version);
+ }
int num = 15;
int status;
}
wrbuf_printf(c->wrbuf, "<activeclients>%d</activeclients>\n", status);
- perform_termlist(c, s->psession, name, num);
+ perform_termlist(c, s->psession, name, num, version_no);
response_close(c, "termlist");
}
struct hitsbytarget *ht;
struct http_request *rq = c->request;
const char *settings = http_argbyname(rq, "settings");
-
+ const char *protocol_version = http_argbyname(rq, "version");
+ int version = 0;
+ if (protocol_version && strcmp(protocol_version,"")) {
+ version = atoi(protocol_version);
+ }
ht = get_hitsbytarget(s->psession, &count, c->nmem);
if (!cmd_status)
/* Old protocol, always ok */
wrbuf_puts(c->wrbuf, "</addinfo>\n");
}
- wrbuf_printf(c->wrbuf, "<records>%d</records>\n", ht[i].records);
-
+ wrbuf_printf(c->wrbuf, "<records>%d</records>\n", ht[i].records - ht[i].filtered);
+ if (version >= 2)
+ wrbuf_printf(c->wrbuf, "<filtered>%d</filtered>\n", ht[i].filtered);
wrbuf_puts(c->wrbuf, "<state>");
wrbuf_xmlputs(c->wrbuf, ht[i].state);
wrbuf_puts(c->wrbuf, "</state>\n");