-/* $Id: client.c,v 1.1 2007-04-23 21:05:23 adam Exp $
+/* $Id: client.c,v 1.4 2007-05-15 08:52:35 adam Exp $
Copyright (c) 2006-2007, Index Data.
This file is part of Pazpar2.
#include "connection.h"
#include "settings.h"
-// Represents client state for a connection to one search target
+/** \brief Represents client state for a connection to one search target */
struct client {
struct session_database *database;
struct connection *connection;
int hits;
int records;
int setno;
- int requestid; // ID of current outstanding request
+ int requestid; // ID of current outstanding request
int diagnostic;
enum client_state state;
- struct client *next;
+ struct client *next; // next client in session or next in free list
};
static const char *client_states[] = {
}
wrbuf_rewind(se->wrbuf);
ccl_pquery(se->wrbuf, cn);
- wrbuf_putc(se->wrbuf, '\0');
- if (cl->pquery)
- xfree(cl->pquery);
- cl->pquery = xstrdup(wrbuf_buf(se->wrbuf));
+ xfree(cl->pquery);
+ cl->pquery = xstrdup(wrbuf_cstr(se->wrbuf));
if (!se->relevance)
{
// Initialize relevance structure with query terms
char *p[512];
extract_terms(se->nmem, cn, p);
- se->relevance = relevance_create(se->nmem, (const char **) p,
- se->expected_maxrecs);
+ se->relevance = relevance_create(client_get_database(cl)->pct,
+ se->nmem, (const char **) p,
+ se->expected_maxrecs);
}
ccl_rpn_delete(cn);