X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsrwutil.c;h=4eb9573fca0d2047cdd1e4a46491d3d671254c5a;hb=503a37782cf225167804b55d2bd665a04141d9e4;hp=91808b0ec6a0f3ff2cb342afcd55be16676f041a;hpb=800bea26443b57c0dee73f21f060e3f87113cbf1;p=yaz-moved-to-github.git diff --git a/src/srwutil.c b/src/srwutil.c index 91808b0..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) @@ -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 {