* Copyright (c) 1998-2001, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-z-assoc.cpp,v 1.23 2002-04-22 12:08:07 adam Exp $
+ * $Id: yaz-z-assoc.cpp,v 1.26 2003-10-01 13:13:51 adam Exp $
*/
#include <assert.h>
#include <signal.h>
#include <yaz/log.h>
-#include <yaz++/yaz-z-assoc.h>
+#include <yaz++/z-assoc.h>
#include <yaz/otherinfo.h>
int Yaz_Z_Assoc::yaz_init_func()
Z_APDU *apdu = decode_Z_PDU (buf, len);
if (apdu)
{
- recv_Z_PDU (apdu);
+ recv_Z_PDU (apdu, len);
}
else
{
*id_to = 0;
}
-int Yaz_Z_Assoc::send_Z_PDU(Z_APDU *apdu)
+int Yaz_Z_Assoc::send_Z_PDU(Z_APDU *apdu, int *plen)
{
char *buf;
int len;
if (encode_Z_PDU(apdu, &buf, &len) > 0)
+ {
+ if (plen)
+ *plen = len;
return m_PDU_Observable->send_PDU(buf, len);
+ }
return -1;
}
else
{
if (m_APDU_file)
+ {
z_APDU(m_odr_print, &apdu, 0, "decode");
+ fflush(m_APDU_file);
+ }
return apdu;
}
}
int Yaz_Z_Assoc::encode_Z_PDU(Z_APDU *apdu, char **buf, int *len)
{
if (m_APDU_file)
+ {
z_APDU(m_odr_print, &apdu, 0, "encode");
+ fflush(m_APDU_file);
+ }
if (!z_APDU(m_odr_out, &apdu, 0, 0))
{
if (m_APDU_file)