X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=client%2Fclient.c;h=0147b06decc4c892d3c599ff0e558e64aaea5659;hp=5e7f270650a9b9bbfd5405d9786c4b2ab2c58708;hb=6db306098a49682128a8e7bde44020fdf28fab62;hpb=2614d567118004072591ae55a387d2cbb1d18130 diff --git a/client/client.c b/client/client.c index 5e7f270..0147b06 100644 --- a/client/client.c +++ b/client/client.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ /** \file client.c @@ -702,10 +702,7 @@ static int session_connect_base(const char *arg, const char **basep) strncpy(type_and_host, arg, sizeof(type_and_host)-1); type_and_host[sizeof(type_and_host)-1] = '\0'; - if (yazProxy) - conn = cs_create_host(yazProxy, 1, &add); - else - conn = cs_create_host(arg, 1, &add); + conn = cs_create_host_proxy(arg, 1, &add, yazProxy); if (!conn) { printf("Could not resolve address %s\n", arg); @@ -926,13 +923,13 @@ static void display_record(Z_External *r) const char *octet_buf = (const char*)r->u.octet_aligned->buf; size_t octet_len = r->u.octet_aligned->len; if (!oid_oidcmp(oid, yaz_oid_recsyn_xml) - || !oid_oidcmp(oid, yaz_oid_recsyn_xml) + || !oid_oidcmp(oid, yaz_oid_recsyn_application_xml) || !oid_oidcmp(oid, yaz_oid_recsyn_html)) { print_xml_record(octet_buf, octet_len); } - else if (yaz_oid_is_iso2709(oid)) + else { const char *result; size_t rlen; @@ -978,17 +975,14 @@ static void display_record(Z_External *r) } else { - printf("bad MARC. Dumping as it is:\n"); + if (yaz_oid_is_iso2709(oid)) + printf("bad MARC. Dumping as it is:\n"); print_record(octet_buf, octet_len); } yaz_marc_destroy(mt); if (cd) yaz_iconv_close(cd); } - else - { - print_record(octet_buf, octet_len); - } marc_file_write(octet_buf, r->u.octet_aligned->len); } else if (oid && !oid_oidcmp(oid, yaz_oid_recsyn_sutrs)) @@ -4444,9 +4438,11 @@ static void http_response(Z_HTTP_Response *hres) if (ret == 0 && sr->which == Z_SRW_searchRetrieve_response) handle_srw_response(sr->u.response); + else if (ret == 0 && sr->which == Z_SRW_scan_response) + handle_srw_scan_response(sr->u.scan_response); else { - printf("Decoding of SOLR package failed\n"); + printf("Decoding of Solr package failed\n"); ret = -1; } odr_destroy(o);