X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=445dc527b5718b45b49e47bc498ccd2da0456ceb;hb=af3b1f509a27cb38ca5c9cb7a22cd384f5ca7c70;hp=02270850f9cfe0cd1e2520960a4c378b82cf0f0d;hpb=a95e1c4f3d0f4edad819cf20832fbab228db81d3;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 0227085..445dc52 100644 --- a/client/client.c +++ b/client/client.c @@ -5,6 +5,9 @@ /** \file client.c * \brief yaz-client program */ +#if HAVE_CONFIG_H +#include +#endif #include #include @@ -284,7 +287,7 @@ int send_apdu(Z_APDU *a) do_hex_dump(buf, len); if (cs_put(conn, buf, len) < 0) { - fprintf(stderr, "cs_put: %s", cs_errmsg(cs_errno(conn))); + fprintf(stderr, "cs_put: %s\n", cs_errmsg(cs_errno(conn))); close_session(); return 0; } @@ -1454,8 +1457,7 @@ static int send_SRW_searchRequest(const char *arg) printf("Only CQL and PQF supported in SRW\n"); return 0; } - // TODO check. - sr->u.request->maximumRecords = odr_intdup(out, 20); + sr->u.request->maximumRecords = odr_intdup(out, 0); sr->u.request->facetList = facet_list; if (record_schema) sr->u.request->recordSchema = record_schema; @@ -2281,6 +2283,22 @@ static int only_z3950(void) return 0; } +static int is_SRW(void) +{ + if (!conn) + { + printf("Not connected yet\n"); + return 1; + } + if (protocol == PROTO_HTTP && yaz_matchstr(sru_method, "solr")) + { + printf("Not supported by SRW\n"); + return 1; + } + return 0; +} + + static int cmd_update_common(const char *arg, int version); static int cmd_update(const char *arg) @@ -2898,9 +2916,8 @@ static int cmd_facets(const char *arg) return 0; } size = strlen(arg); - if (only_z3950() && !yaz_matchstr(sru_method, "solr")) { - /* We are not Z39.50 and not SOLR (I think) */ - printf("WARN: Currently supported for Z39.50 and SOLR.\n"); + if (is_SRW()) { + printf("WARN: No supported for SRW/SRU.\n"); } facet_list = yaz_pqf_parse_facet_list(odr, arg); @@ -4301,6 +4318,9 @@ static void handle_srw_response(Z_SRW_searchRetrieveResponse *res) } if (res->numberOfRecords) printf("Number of hits: " ODR_INT_PRINTF "\n", *res->numberOfRecords); + if (res->facetList) { + display_facets(res->facetList); + } for (i = 0; inum_records; i++) handle_srw_record(res->records + i); }