X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fzoom-c.c;h=e7f25c29f4736629fcfc948048e615f59641bd37;hb=62dc87f9ad8412dcf2a14bb00147dee88df83d70;hp=383b344f3e8d72a034af63df7ee9cb636794e238;hpb=a91467db0bbbaefbaf64410b657a9439104997e0;p=yaz-moved-to-github.git diff --git a/src/zoom-c.c b/src/zoom-c.c index 383b344..e7f25c2 100644 --- a/src/zoom-c.c +++ b/src/zoom-c.c @@ -361,7 +361,6 @@ ZOOM_API(void) const char *host, int portnum) { const char *val; - const char *http_lead; initlog(); @@ -428,16 +427,18 @@ ZOOM_API(void) else c->lang = 0; - val = ZOOM_options_get(c->options, "sru"); - if (val && *val && !strstr(host, "://")) - http_lead = "http://"; - else - http_lead = ""; - c->sru_mode = get_sru_mode_from_string(val); - if (host) { char hostn[128]; + const char *http_lead; + + val = ZOOM_options_get(c->options, "sru"); + if (val && *val && !strstr(host, "://")) + http_lead = "http://"; + else + http_lead = ""; + c->sru_mode = get_sru_mode_from_string(val); + xfree(c->host_port); if (portnum) { @@ -721,10 +722,9 @@ ZOOM_API(ZOOM_resultset) ZOOM_connection_search(ZOOM_connection c, ZOOM_query q) { ZOOM_resultset r = ZOOM_resultset_create(); - const char *cp; ZOOM_task task; int start, count; - const char *syntax, *elementSetName, *schema, *facets; + const char *syntax, *elementSetName, *schema; yaz_log(c->log_api, "%p ZOOM_connection_search set %p query %p", c, r, q); r->r_sort_spec = ZOOM_query_get_sortspec(q); r->query = q; @@ -732,7 +732,7 @@ ZOOM_API(ZOOM_resultset) r->options = ZOOM_options_create_with_parent(c->options); - r->req_facets = odr_strdup_null(r->odr, + r->req_facets = odr_strdup_null(r->odr, ZOOM_options_get(r->options, "facets")); start = ZOOM_options_get_int(r->options, "start", 0); count = ZOOM_options_get_int(r->options, "count", 0); @@ -743,13 +743,11 @@ ZOOM_API(ZOOM_resultset) (cp != 0 ? "presentChunk": "step"), 0); } r->piggyback = ZOOM_options_get_bool(r->options, "piggyback", 1); - cp = ZOOM_options_get(r->options, "setname"); - if (cp) - r->setname = xstrdup(cp); - - r->databaseNames = ZOOM_connection_get_databases(c, c->options, &r->num_databaseNames, - r->odr); - + r->setname = odr_strdup_null(r->odr, + ZOOM_options_get(r->options, "setname")); + r->databaseNames = ZOOM_connection_get_databases(c, c->options, + &r->num_databaseNames, + r->odr); r->connection = c; r->next = c->resultsets; c->resultsets = r; @@ -872,7 +870,6 @@ static void resultset_destroy(ZOOM_resultset r) ZOOM_query_destroy(r->query); ZOOM_options_destroy(r->options); odr_destroy(r->odr); - xfree(r->setname); yaz_mutex_destroy(&r->mutex); #if SHPTR YAZ_SHPTR_DEC(r->record_wrbuf, wrbuf_destroy); @@ -1067,7 +1064,7 @@ static zoom_ret do_connect_host(ZOOM_connection c, const char *logical_url) if (c->cs) cs_close(c->cs); - c->cs = cs_create_host_proxy(logical_url, 0, &add, + c->cs = cs_create_host_proxy(logical_url, CS_FLAGS_DNS_NO_BLOCK, &add, c->tproxy ? c->tproxy : c->proxy); if (c->cs && c->cs->protocol == PROTO_HTTP) @@ -1132,7 +1129,7 @@ ZOOM_API(ZOOM_record) const char *schema = ZOOM_options_get(s->options, "schema"); - return ZOOM_record_cache_lookup(s, pos, syntax, elementSetName, schema); + return ZOOM_record_cache_lookup_i(s, pos, syntax, elementSetName, schema); } ZOOM_API(ZOOM_record)