X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=zlint%2Fzlint.cpp;h=a0ad235a65680f7bf93433284a8d7dfdffe720e9;hp=ad3d8115b452697bf54c22edd51b1d68d0c305fa;hb=6b50fe651b6f6e83f4bfa9c4f00a793a40ed423c;hpb=6b22d0543d41bec8626f3ae7ac866bcab7de44bd diff --git a/zlint/zlint.cpp b/zlint/zlint.cpp index ad3d811..a0ad235 100644 --- a/zlint/zlint.cpp +++ b/zlint/zlint.cpp @@ -1,8 +1,11 @@ /* This file is part of the yazpp toolkit. - * Copyright (C) 1998-2009 Index Data and Mike Taylor + * Copyright (C) 1998-2012 Index Data and Mike Taylor * See the file LICENSE for details. */ +#if HAVE_CONFIG_H +#include +#endif #include #include @@ -32,9 +35,9 @@ private: int m_test_reported; }; -Zlint::Zlint(IPDU_Observable *the_PDU_Observable) : +Zlint::Zlint(IPDU_Observable *the_PDU_Observable) : Z_Assoc(the_PDU_Observable) - + { m_PDU_Observable = the_PDU_Observable; m_host = 0; @@ -76,13 +79,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() @@ -91,13 +93,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() @@ -106,8 +107,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) @@ -119,23 +120,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( @@ -146,7 +149,7 @@ IPDU_Observer *Zlint::sessionNotify( Z_ReferenceId *Zlint::mk_refid(const char *buf, int len) { - Z_ReferenceId *id = + 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); @@ -157,15 +160,12 @@ Z_ReferenceId *Zlint::mk_refid(const char *buf, int 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; }