Fix attribute type checking
[yazpp-moved-to-github.git] / src / yaz-proxy.cpp
index 1275732..5864a12 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 1998-2003, Index Data.
  * See the file LICENSE for details.
  * 
- * $Id: yaz-proxy.cpp,v 1.66 2003-10-23 09:10:12 adam Exp $
+ * $Id: yaz-proxy.cpp,v 1.69 2003-10-23 13:59:37 adam Exp $
  */
 
 #include <assert.h>
@@ -72,7 +72,7 @@ Yaz_Proxy::Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable,
     m_client_idletime = 600;
     m_target_idletime = 600;
     m_optimize = xstrdup ("1");
-    strcpy(m_session_str, "0");
+    strcpy(m_session_str, "0 ");
     m_session_no=0;
     m_bytes_sent = m_bytes_recv = 0;
     m_bw_hold_PDU = 0;
@@ -1340,8 +1340,8 @@ void Yaz_Proxy::pre_init()
                            other++;
                    }
                }
-               yaz_log(LOG_LOG, "%s pre-init %s %s use=%d other=%d spare=%d preinit=%d",
-                       m_session_str,
+               yaz_log(LOG_LOG, "%spre-init %s %s use=%d other=%d spare=%d "
+                       "preinit=%d",m_session_str,
                        name, zurl_in_use[j], in_use, other, spare, pre_init);
                if (spare < pre_init)
                {
@@ -1529,10 +1529,14 @@ void Yaz_ProxyClient::recv_Z_PDU(Z_APDU *apdu, int len)
     }
 }
 
-void Yaz_Proxy::server(const char *addr)
+int Yaz_Proxy::server(const char *addr)
 {
-    Yaz_Z_Assoc::server(addr);
-
-    timeout(1);
+    int r = Yaz_Z_Assoc::server(addr);
+    if (!r)
+    {
+       yaz_log(LOG_LOG, "%sStarted listener on %s", m_session_str, addr);
+       timeout(1);
+    }
+    return r;
 }