X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=zlint%2Ftest-init-07.cpp;h=45aa574e54e560f93907da91d3d993d6d554f9f4;hp=e586c920ef4fddd4a7f7655abc69e2bfd300d5fa;hb=d62e0baee8ee3cccced41746ef09fc3e01f401d5;hpb=491fb0058392b83d1e44eaa7494e827f3530f3dd diff --git a/zlint/test-init-07.cpp b/zlint/test-init-07.cpp index e586c92..45aa574 100644 --- a/zlint/test-init-07.cpp +++ b/zlint/test-init-07.cpp @@ -1,10 +1,11 @@ -/* - * Copyright (c) 2004, Index Data. +/* This file is part of the yazpp toolkit. + * Copyright (C) Index Data and Mike Taylor * See the file LICENSE for details. - * - * $Id: test-init-07.cpp,v 1.3 2004-12-13 20:50:54 adam Exp $ */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -27,44 +28,44 @@ Zlint_code Zlint_test_init_07::init(Zlint *z) Z_OtherInformation **oi; z->msg_check_for("for character set negotiation"); - + /* set all options.. see what target really supports .. */ ODR_MASK_SET(init->protocolVersion, Z_ProtocolVersion_3); yaz_oi_APDU(apdu, &oi); if (!oi) { - z->msg_check_fail("encoding failure"); - return TEST_FINISHED; + z->msg_check_fail("encoding failure"); + return TEST_FINISHED; } else { - Z_OtherInformationUnit *p0; - const char *negotiationCharset[] = { - "UTF-8", - "UTF-16", - "UCS-2", - "UCS-4", - "ISO-8859-1" - }; - char *yazLang = 0; - - if ((p0=yaz_oi_update(oi, z->odr_encode(), NULL, 0, 0))) { - ODR_MASK_SET(init->options, Z_Options_negotiationModel); - - p0->which = Z_OtherInfo_externallyDefinedInfo; - p0->information.externallyDefinedInfo = - - yaz_set_proposal_charneg( - z->odr_encode(), - negotiationCharset, 5, - (const char**)&yazLang, yazLang ? 1 : 0, 1); - } + Z_OtherInformationUnit *p0; + const char *negotiationCharset[] = { + "UTF-8", + "UTF-16", + "UCS-2", + "UCS-4", + "ISO-8859-1" + }; + char *yazLang = 0; + + if ((p0=yaz_oi_update(oi, z->odr_encode(), NULL, 0, 0))) { + ODR_MASK_SET(init->options, Z_Options_negotiationModel); + + p0->which = Z_OtherInfo_externallyDefinedInfo; + p0->information.externallyDefinedInfo = + + yaz_set_proposal_charneg( + z->odr_encode(), + negotiationCharset, 5, + (const char**)&yazLang, yazLang ? 1 : 0, 1); + } } int r = z->send_Z_PDU(apdu, &len); if (r < 0) { - z->msg_check_fail("unable to send init request"); - return TEST_FINISHED; + z->msg_check_fail("unable to send init request"); + return TEST_FINISHED; } return TEST_CONTINUE; } @@ -72,38 +73,45 @@ Zlint_code Zlint_test_init_07::init(Zlint *z) Zlint_code Zlint_test_init_07::recv_gdu(Zlint *z, Z_GDU *gdu) { if (gdu->which == Z_GDU_Z3950 && - gdu->u.z3950 && gdu->u.z3950->which == Z_APDU_initResponse) + gdu->u.z3950 && gdu->u.z3950->which == Z_APDU_initResponse) { - Z_InitResponse *init = gdu->u.z3950->u.initResponse; - int ver = z->initResponseGetVersion(init); - int result = init->result ? *init->result : 0; - - if (ODR_MASK_GET(init->options, Z_Options_negotiationModel)) - { - Z_CharSetandLanguageNegotiation *p = - yaz_get_charneg_record(init->otherInfo); - - if (p) { - - char *charset=NULL, *lang=NULL; - int selected; - NMEM m = nmem_create(); - - yaz_get_response_charneg(m, p, &charset, &lang, - &selected); - z->msg_check_ok(); - z->msg_check_info("Accepted character set : %s", charset); - z->msg_check_info("Accepted code language : %s", lang ? lang : "none"); - z->msg_check_info("Accepted records in ...: %d", selected ); - nmem_destroy(m); - return TEST_FINISHED; - } - } - z->msg_check_notapp(); + Z_InitResponse *init = gdu->u.z3950->u.initResponse; + + if (ODR_MASK_GET(init->options, Z_Options_negotiationModel)) + { + Z_CharSetandLanguageNegotiation *p = + yaz_get_charneg_record(init->otherInfo); + + if (p) { + + char *charset=NULL, *lang=NULL; + int selected; + NMEM m = nmem_create(); + + yaz_get_response_charneg(m, p, &charset, &lang, + &selected); + z->msg_check_ok(); + z->msg_check_info("Accepted character set : %s", charset); + z->msg_check_info("Accepted code language : %s", lang ? lang : "none"); + z->msg_check_info("Accepted records in ...: %d", selected ); + nmem_destroy(m); + return TEST_FINISHED; + } + } + z->msg_check_notapp(); } else - z->msg_check_fail("did not receive init response as expected"); + z->msg_check_fail("did not receive init response as expected"); return TEST_FINISHED; } +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +