X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsrwutil.c;h=4eb9573fca0d2047cdd1e4a46491d3d671254c5a;hb=503a37782cf225167804b55d2bd665a04141d9e4;hp=2cf49c30a9475888e079b59c7afa7060bd5f30be;hpb=f48b453627a7d8f2110fda172592fcefa8ed5005;p=yaz-moved-to-github.git diff --git a/src/srwutil.c b/src/srwutil.c index 2cf49c3..4eb9573 100644 --- a/src/srwutil.c +++ b/src/srwutil.c @@ -296,7 +296,9 @@ int yaz_srw_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, *srw_pdu = (Z_SRW_PDU*) (*soap_package)->u.generic->p; yaz_srw_decodeauth(*srw_pdu, hreq, 0, 0, decode); - if ((*soap_package)->u.generic->no == 3) /* SRU 2 ! */ + /* last entry in handlers - SRU 2.0 - is turned into + offset 0.. due to other pieces relying on it */ + if ((*soap_package)->u.generic->no == 3) (*soap_package)->u.generic->no = 0; if ((*srw_pdu)->which == Z_SRW_searchRetrieve_request && (*srw_pdu)->u.request->database == 0) @@ -909,7 +911,7 @@ static int yaz_get_sru_parms(const Z_SRW_PDU *srw_pdu, ODR encode, yaz_add_name_value_str(encode, name, value, &i, "x-pquery", srw_pdu->u.request->query); } - else if (!strcmp(queryType, "pqf")) + else if (!strcmp(queryType, "xcql")) { yaz_add_name_value_str(encode, name, value, &i, "x-cql", srw_pdu->u.request->query); @@ -965,14 +967,14 @@ static int yaz_get_sru_parms(const Z_SRW_PDU *srw_pdu, ODR encode, break; case Z_SRW_scan_request: value[i++] = "scan"; - queryType = srw_pdu->u.request->queryType; + queryType = srw_pdu->u.scan_request->queryType; if (version2) { if (queryType && strcmp(queryType, "cql")) yaz_add_name_value_str(encode, name, value, &i, "queryType", queryType); - yaz_add_name_value_str(encode, name, value, &i, "query", - srw_pdu->u.request->query); + yaz_add_name_value_str(encode, name, value, &i, "scanClause", + srw_pdu->u.scan_request->scanClause); } else {