X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fclient.c;h=2cf8eb57735b6b26f4849d37c71c254bc95a5f19;hb=5b4ea0cf66dd82c871ed7d69a5801d78789087b2;hp=31c254337d9d5989498b4be7c01d5e30952e6deb;hpb=75b739a3a4548b5c4c1875f23e765c101bf3aed2;p=pazpar2-moved-to-github.git diff --git a/src/client.c b/src/client.c index 31c2543..2cf8eb5 100644 --- a/src/client.c +++ b/src/client.c @@ -67,6 +67,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA /** \brief Represents client state for a connection to one search target */ struct client { struct session_database *database; + struct conf_server *server; struct connection *connection; struct session *session; char *pquery; // Current search @@ -101,7 +102,7 @@ static const char *client_states[] = { "Client_Disconnected" }; -static struct client *client_freelist = 0; +static struct client *client_freelist = 0; /* thread pr */ const char *client_get_state_str(struct client *cl) { @@ -643,17 +644,20 @@ static char *make_cqlquery(struct client *cl) char *r; WRBUF wrb = wrbuf_alloc(); int status; + ODR odr_out = odr_createmem(ODR_ENCODE); - zquery = p_query_rpn(global_parameters.odr_out, cl->pquery); + zquery = p_query_rpn(odr_out, cl->pquery); if ((status = cql_transform_rpn2cql_wrbuf(cqlt, wrb, zquery))) { yaz_log(YLOG_WARN, "failed to generate CQL query, code=%d", status); - return 0; + r = 0; } - r = xstrdup(wrbuf_cstr(wrb)); - + else + { + r = xstrdup(wrbuf_cstr(wrb)); + } wrbuf_destroy(wrb); - odr_reset(global_parameters.odr_out); // releases the zquery + odr_destroy(odr_out); cql_transform_close(cqlt); return r; } @@ -706,7 +710,7 @@ int client_parse_query(struct client *cl, const char *query) char *p[512]; extract_terms(se->nmem, cn, p); se->relevance = relevance_create( - global_parameters.server->relevance_pct, + se->service->relevance_pct, se->nmem, (const char **) p, se->expected_maxrecs); }