X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_backend_test.cpp;h=dda5135d08533c68a21f3bd247d4d771e6c5ebc5;hb=a19294f809fc1e5481ad596faa5e604a6c84aa83;hp=f4f0b165cdf21d657d3e5f58e55353acecd58411;hpb=cf09b1981338f07c333e43e0a2c907012c841c5d;p=metaproxy-moved-to-github.git diff --git a/src/filter_backend_test.cpp b/src/filter_backend_test.cpp index f4f0b16..dda5135 100644 --- a/src/filter_backend_test.cpp +++ b/src/filter_backend_test.cpp @@ -1,4 +1,4 @@ -/* $Id: filter_backend_test.cpp,v 1.1 2005-10-25 11:48:30 adam Exp $ +/* $Id: filter_backend_test.cpp,v 1.3 2005-10-25 16:01:36 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -64,9 +64,9 @@ void yf::Backend_test::process(Package &package) const int i; static const int masks[] = { - Z_Options_search, Z_Options_present, 0 + Z_Options_search, Z_Options_present, -1 }; - for (i = 0; masks[i]; i++) + for (i = 0; masks[i] != -1; i++) if (ODR_MASK_GET(req->options, masks[i])) ODR_MASK_SET(resp->options, masks[i]); if (m_p->m_support_named_result_sets) @@ -76,6 +76,18 @@ void yf::Backend_test::process(Package &package) const else m_p->m_support_named_result_sets = false; } + static const int versions[] = { + Z_ProtocolVersion_1, + Z_ProtocolVersion_2, + Z_ProtocolVersion_3, + -1 + }; + for (i = 0; versions[i] != -1; i++) + if (ODR_MASK_GET(req->protocolVersion, versions[i])) + ODR_MASK_SET(resp->protocolVersion, versions[i]); + else + break; + } else if (apdu_req->which == Z_APDU_searchRequest) { @@ -105,6 +117,9 @@ void yf::Backend_test::process(Package &package) const { apdu_res = zget_APDU(odr, Z_APDU_close); *apdu_res->u.close->closeReason = Z_Close_protocolError; + apdu_res->u.close->diagnosticInformation = + odr_strdup(odr, "bad APDU in filter_backend_test"); + package.session().close(); } if (apdu_res)