X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=zlint%2Ftest-search-01.cpp;h=1de41f71dca99b42b4ebddd6a3029d5d968b2ce4;hp=7f3adabd427d47a2df518044f7b1c743e8332b87;hb=217e153abe5e9c5aae6ef74a839bf01d30e295d3;hpb=e19d9fe1d9e538d9978cfcb3c2685ba0f234e6b5 diff --git a/zlint/test-search-01.cpp b/zlint/test-search-01.cpp index 7f3adab..1de41f7 100644 --- a/zlint/test-search-01.cpp +++ b/zlint/test-search-01.cpp @@ -1,15 +1,17 @@ -/* - * Copyright (c) 2004, Index Data. +/* This file is part of the yazpp toolkit. + * Copyright (C) 1998-2013 Index Data and Mike Taylor * See the file LICENSE for details. - * - * $Id: test-search-01.cpp,v 1.6 2005-08-11 18:53:01 adam Exp $ */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include #include +#include static const char *try_query[] = { "@attr 1=4 petersson", @@ -97,14 +99,14 @@ Zlint_code Zlint_test_search_01::sendTest(Zlint *z) sr->query->which = Z_Query_type_1; Z_RPNQuery *rpn; YAZ_PQF_Parser pqf_parser = yaz_pqf_create (); - + z->getDatabase(&sr->databaseNames, &sr->num_databaseNames); - + rpn = yaz_pqf_parse(pqf_parser, z->odr_encode(), try_query[m_query_no]); - + yaz_pqf_destroy (pqf_parser); - + if (!rpn) { z->msg_check_fail("Query %s invalid", try_query[m_query_no]); @@ -131,8 +133,9 @@ Zlint_code Zlint_test_search_01::sendTest(Zlint *z) z->msg_check_for("record syntax %s", try_syntax[m_record_syntax_no]); pr->preferredRecordSyntax = - yaz_str_to_z3950oid(z->odr_encode(), CLASS_RECSYN, - try_syntax[m_record_syntax_no]); + yaz_string_to_oid_odr(yaz_oid_std(), + CLASS_RECSYN, try_syntax[m_record_syntax_no], + z->odr_encode()); z->send_Z_PDU(apdu, &len); return TEST_CONTINUE; } @@ -143,10 +146,10 @@ Zlint_code Zlint_test_search_01::sendTest(Zlint *z) { z->msg_check_for("sort %s", try_sort[m_sort_no]); - char *setstring = "default"; + const char *setstring = "default"; int len; Z_SortRequest *sr = apdu->u.sortRequest; - + sr->num_inputResultSetNames = 1; sr->num_inputResultSetNames = 1; sr->inputResultSetNames = (Z_InternationalString **) @@ -186,8 +189,8 @@ Zlint_code Zlint_test_search_01::recv_gdu(Zlint *z, Z_GDU *gdu) gdu->u.z3950 && gdu->u.z3950->which == Z_APDU_searchResponse) { Z_SearchResponse *sr = gdu->u.z3950->u.searchResponse; - if (sr->records && (sr->records->which == Z_Records_NSD - || + if (sr->records && (sr->records->which == Z_Records_NSD + || sr->records->which == Z_Records_multipleNSD)) m_query_no++; else if (!sr->resultCount || *sr->resultCount == 0) @@ -201,12 +204,12 @@ Zlint_code Zlint_test_search_01::recv_gdu(Zlint *z, Z_GDU *gdu) } return sendTest(z); } - else if (gdu->which == Z_GDU_Z3950 && + else if (gdu->which == Z_GDU_Z3950 && gdu->u.z3950 && gdu->u.z3950->which == Z_APDU_presentResponse) { Z_PresentResponse *sr = gdu->u.z3950->u.presentResponse; - if (sr->records && (sr->records->which == Z_Records_NSD - || + if (sr->records && (sr->records->which == Z_Records_NSD + || sr->records->which == Z_Records_multipleNSD)) { z->msg_check_ok(); @@ -221,8 +224,9 @@ Zlint_code Zlint_test_search_01::recv_gdu(Zlint *z, Z_GDU *gdu) { Z_External *ext = sr->records->u.databaseOrSurDiagnostics->records[0]->u.databaseRecord; Odr_oid *expectRecordSyntax = - yaz_str_to_z3950oid(z->odr_decode(), CLASS_RECSYN, - try_syntax[m_record_syntax_no]); + yaz_string_to_oid_odr( + yaz_oid_std(), CLASS_RECSYN, + try_syntax[m_record_syntax_no], z->odr_decode()); if (oid_oidcmp(expectRecordSyntax, ext->direct_reference)) { @@ -253,7 +257,7 @@ Zlint_code Zlint_test_search_01::recv_gdu(Zlint *z, Z_GDU *gdu) m_record_syntax_no++; return sendTest(z); } - else if (gdu->which == Z_GDU_Z3950 && + else if (gdu->which == Z_GDU_Z3950 && gdu->u.z3950 && gdu->u.z3950->which == Z_APDU_sortResponse) { Z_SortResponse *sr = gdu->u.z3950->u.sortResponse; @@ -277,6 +281,7 @@ Zlint_code Zlint_test_search_01::recv_fail(Zlint *z, int reason) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab