X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=638d16e0d627e38a62d5338b7c5b1b8fe9190bad;hb=f720562471a064dba92a465d999aa833e59d69b1;hp=925c503c93bc14e1e2e12cc5dd3d446031ae1584;hpb=1331fd610a8bfc1e5a849d2c4d598c11557a8372;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 925c503..638d16e 100644 --- a/client/client.c +++ b/client/client.c @@ -83,6 +83,7 @@ static file_history_t file_history = 0; static char sru_method[10] = "soap"; static char sru_version[10] = "1.2"; +static char sru_recordPacking[10] = ""; static char *codeset = 0; /* character set for output */ static int hex_dump = 0; static char *dump_file_prefix = 0; @@ -1473,6 +1474,8 @@ static int send_SRW_searchRequest(const char *arg) printf("Only CQL and PQF supported in SRW\n"); return 0; } + if (*sru_recordPacking) + sr->u.request->recordPacking = sru_recordPacking; sru_maximumRecords = 0; sr->u.request->maximumRecords = odr_intdup(out, 0); sr->u.request->facetList = facet_list; @@ -2822,7 +2825,8 @@ static int cmd_sru(const char *arg) } else { - int r = sscanf(arg, "%9s %9s", sru_method, sru_version); + int r = sscanf(arg, "%9s %9s %9s", sru_method, sru_version, + sru_recordPacking); if (r >= 1) { if (!yaz_matchstr(sru_method, "post")) @@ -3165,6 +3169,8 @@ static int send_SRW_presentRequest(const char *arg) return 0; if (!parse_show_args(arg, setstring, &setno, &nos)) return 0; + if (*sru_recordPacking) + sr->u.request->recordPacking = sru_recordPacking; sr->u.request->startRecord = odr_intdup(out, setno); sru_maximumRecords = nos; sr->u.request->maximumRecords = odr_intdup(out, nos); @@ -4452,7 +4458,7 @@ static void http_response(Z_HTTP_Response *hres) Z_SOAP *soap_package = 0; ODR o = odr_createmem(ODR_DECODE); Z_SOAP_Handler soap_handlers[] = { - {YAZ_XMLNS_SRU_v2_response, 0, (Z_SOAP_fun) yaz_srw_codec}, + {YAZ_XMLNS_SRU_v2_mask, 0, (Z_SOAP_fun) yaz_srw_codec}, {YAZ_XMLNS_UPDATE_v0_9, 0, (Z_SOAP_fun) yaz_ucp_codec}, {YAZ_XMLNS_SRU_v1_response, 0, (Z_SOAP_fun) yaz_srw_codec}, {0, 0, 0}