Reformat: delete trailing whitespace
[yazpp-moved-to-github.git] / src / yaz-z-assoc.cpp
index f6acc2d..da2156d 100644 (file)
@@ -1,10 +1,11 @@
-/*
- * Copyright (c) 1998-2007, Index Data.
+/* This file is part of the yazpp toolkit.
+ * Copyright (C) 1998-2012 Index Data and Mike Taylor
  * See the file LICENSE for details.
- * 
- * $Id: yaz-z-assoc.cpp,v 1.44 2008-01-21 15:57:28 adam Exp $
  */
 
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include <assert.h>
 #include <signal.h>
 
@@ -23,7 +24,7 @@ int Z_Assoc::yaz_init_func()
     return 1;
 }
 
-int Z_Assoc::yaz_init_flag =  Z_Assoc::yaz_init_func();  
+int Z_Assoc::yaz_init_flag =  Z_Assoc::yaz_init_func();
 
 Z_Assoc::Z_Assoc(IPDU_Observable *the_PDU_Observable)
 {
@@ -48,7 +49,7 @@ void Z_Assoc::set_APDU_log(const char *fname)
     delete [] m_APDU_fname;
     m_APDU_fname = 0;
 
-    if (fname) 
+    if (fname)
     {
         m_APDU_fname = new char[strlen(fname)+1];
         strcpy (m_APDU_fname, fname);
@@ -76,7 +77,7 @@ const char *Z_Assoc::get_APDU_log()
 
 Z_Assoc::~Z_Assoc()
 {
-    m_PDU_Observable->destroy();  
+    m_PDU_Observable->destroy();
     delete m_PDU_Observable;
     odr_destroy (m_odr_print);     // note: also runs fclose on m_APDU_file ..
     odr_destroy (m_odr_out);
@@ -95,7 +96,7 @@ void Z_Assoc::recv_PDU(const char *buf, int len)
     }
     else
     {
-        close();
+        m_PDU_Observable->shutdown();
         failNotify();
     }
 }
@@ -119,7 +120,7 @@ Z_ReferenceId **Z_Assoc::get_referenceIdP(Z_APDU *apdu)
     switch (apdu->which)
     {
     case  Z_APDU_initRequest:
-        return &apdu->u.initRequest->referenceId; 
+        return &apdu->u.initRequest->referenceId;
     case  Z_APDU_initResponse:
         return &apdu->u.initResponse->referenceId;
     case  Z_APDU_searchRequest:
@@ -217,7 +218,15 @@ Z_GDU *Z_Assoc::decode_GDU(const char *buf, int len)
         yaz_log(YLOG_LOG, "PDU decode failed '%s' near byte %ld. Element %s",
                 odr_errmsg(odr_geterror(m_odr_in)),
                 (long) odr_offset(m_odr_in),
-                element ? element : "unknown");
+                element && *element ? element : "unknown");
+        yaz_log(YLOG_LOG, "Buffer length: %d", (int) len);
+        if (len > 0)
+        {
+            WRBUF w = wrbuf_alloc();
+            wrbuf_write_escaped(w, buf, len > 1024 ? 1024 : len);
+            yaz_log(YLOG_LOG, "Buffer bytes: %s", wrbuf_cstr(w));
+            wrbuf_destroy(w);
+        }
         yaz_log(YLOG_LOG, "PDU dump:");
         odr_dumpBER(yaz_log_file(), buf, len);
         return 0;
@@ -249,7 +258,7 @@ int Z_Assoc::encode_GDU(Z_GDU *apdu, char **buf, int *len)
 
     if (!r) // decoding failed. Get the failed element
         element = odr_getelement(m_odr_out);
-    
+
     if (m_APDU_yazlog || !r)
     {
         if (!r)
@@ -422,6 +431,7 @@ Z_ReferenceId* Z_Assoc::getRefID(char* str)
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab