- if (m_APDU_file)
- fprintf (m_APDU_file, "PDU encode failed (above)");
- yaz_log (LOG_LOG, "yaz_Z_Assoc::encode_Z_PDU failed");
- return -1;
+ if (!r)
+ yaz_log(YLOG_LOG, "PDU encode failed. Element %s",
+ element ? element : "unknown");
+ FILE *save = m_p->APDU_file;
+ FILE *yazf = yaz_log_file();
+ odr_setprint(m_p->odr_print, yazf); // use YAZ log FILE
+ z_GDU(m_p->odr_print, &apdu, 0, "encode");
+ m_p->APDU_file = save;
+ odr_setprint(m_p->odr_print, save);
+ }
+ if (m_p->APDU_file)
+ {
+ if (!r)
+ fprintf(m_p->APDU_file, "PDU encode failed. Element %s",
+ element ? element : "unknown");
+ z_GDU(m_p->odr_print, &apdu, 0, "encode");
+ fflush(m_p->APDU_file);