X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=zlint%2Fzlint.cpp;h=7ed83b768346f729d9b4cd6354379ec196c36873;hp=11e6ccdfe8e5532e857a1a63f3d8e659053cf000;hb=HEAD;hpb=711105a336b155f2b7f098cf84f2e30952cb8588 diff --git a/zlint/zlint.cpp b/zlint/zlint.cpp index 11e6ccd..7ed83b7 100644 --- a/zlint/zlint.cpp +++ b/zlint/zlint.cpp @@ -1,5 +1,5 @@ /* This file is part of the yazpp toolkit. - * Copyright (C) 1998-2012 Index Data and Mike Taylor + * Copyright (C) Index Data * See the file LICENSE for details. */ @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -79,13 +80,12 @@ void Zlint::timeoutNotify() { if (m_cur_test->m_t->recv_fail(this, 2) != TEST_FINISHED) { - close(); client(m_host); timeout(30); return; } + close_goto_next(); } - close_goto_next(); } void Zlint::failNotify() @@ -94,13 +94,12 @@ void Zlint::failNotify() { if (m_cur_test->m_t->recv_fail(this, 1) != TEST_FINISHED) { - close(); client(m_host); timeout(30); return; } + close_goto_next(); } - close_goto_next(); } void Zlint::connectNotify() @@ -109,8 +108,8 @@ void Zlint::connectNotify() { if (m_cur_test->m_t->init(this) != TEST_FINISHED) return; + close_goto_next(); } - close_goto_next(); } void Zlint::recv_GDU(Z_GDU *gdu, int len) @@ -122,23 +121,25 @@ void Zlint::recv_GDU(Z_GDU *gdu, int len) return; if (r == TEST_REOPEN) { - close(); client(m_host); timeout(30); return; } + close_goto_next(); } - close_goto_next(); } void Zlint::close_goto_next() { - close(); if (m_cur_test) m_cur_test = m_cur_test->m_next; if (m_cur_test) + { client(m_host); - timeout(30); + timeout(30); + } + else + close(); } IPDU_Observer *Zlint::sessionNotify( @@ -149,26 +150,22 @@ IPDU_Observer *Zlint::sessionNotify( Z_ReferenceId *Zlint::mk_refid(const char *buf, int len) { - Z_ReferenceId *id = - (Z_ReferenceId *) odr_malloc(odr_encode(), sizeof(*id)); - id->size = id->len = len; - id->buf = (unsigned char*) odr_malloc(odr_encode(), len); - memcpy(id->buf, buf, len); - return id; + return odr_create_Odr_oct(odr_encode(), +#if YAZ_VERSIONL < 0x50000 + (unsigned char *) +#endif + buf, len); } int Zlint::initResponseGetVersion(Z_InitResponse *init) { int no = 0; - int off = 0; int i; for (i = 0; i<12; i++) if (ODR_MASK_GET(init->protocolVersion, no)) { no = i+1; } - else - off = 1; return no; }