X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fclient.c;h=05b894fcdc066d7c4d931830492b50be18488f56;hb=27e19ec3e10643b4b6431ce6a68317f057c932f2;hp=e9bdbb9386decba1d32c95835cb0102af72e5529;hpb=dbcf2c3410ed74d919efdc62ffbd00e716284d8e;p=pazpar2-moved-to-github.git diff --git a/src/client.c b/src/client.c index e9bdbb9..05b894f 100644 --- a/src/client.c +++ b/src/client.c @@ -1,4 +1,4 @@ -/* $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. @@ -66,7 +66,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #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; @@ -75,10 +75,10 @@ struct client { 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[] = { @@ -622,18 +622,17 @@ int client_parse_query(struct client *cl, const char *query) } 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);