X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fsrwutil.c;h=2591fc99a460c0382c13f222f2d04e73c5b77eaa;hp=1937a7786325c23cbce343b8e7c96eb49f14c22a;hb=2edd9764942ec2d62cabcb4190a69921c60af293;hpb=9bca108ddbc555efaffb85dda76581eaeed44b4e diff --git a/src/srwutil.c b/src/srwutil.c index 1937a77..2591fc9 100644 --- a/src/srwutil.c +++ b/src/srwutil.c @@ -398,6 +398,8 @@ int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, char *maximumTerms = 0; char *responsePosition = 0; const char *facetLimit = 0; + const char *facetStart = 0; + const char *facetSort = 0; Z_SRW_extra_arg *extra_args = 0; #endif char **uri_name; @@ -471,6 +473,10 @@ int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, responsePosition = v; else if (!strcmp(n, "facetLimit")) facetLimit = v; + else if (!strcmp(n, "facetStart")) + facetStart = v; + else if (!strcmp(n, "facetSort")) + facetSort = v; else if (!strcmp(n, "extraRequestData")) ; /* ignoring extraRequestData */ else if (n[0] == 'x' && n[1] == '-') @@ -556,7 +562,7 @@ int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, sr->u.request->packing = recordPacking; sr->u.request->stylesheet = stylesheet; yaz_sru_facet_request(decode , &sr->u.request->facetList, - &facetLimit); + &facetLimit, &facetStart, &facetSort); yaz_sru_decode_integer(decode, "maximumRecords", maximumRecords, &sr->u.request->maximumRecords, @@ -961,10 +967,16 @@ static int yaz_get_sru_parms(const Z_SRW_PDU *srw_pdu, ODR encode, srw_pdu->u.request->resultSetTTL); { const char *facetLimit = 0; + const char *facetStart = 0; + const char *facetSort = 0; yaz_sru_facet_request(encode, &srw_pdu->u.request->facetList, - &facetLimit); + &facetLimit, &facetStart, &facetSort); yaz_add_name_value_str(encode, name, value, &i, "facetLimit", (char *) facetLimit); + yaz_add_name_value_str(encode, name, value, &i, "facetStart", + (char *) facetStart); + yaz_add_name_value_str(encode, name, value, &i, "facetSort", + (char *) facetSort); } break; case Z_SRW_explain_request: