Call fixed RecordCache::add MP-499
[metaproxy-moved-to-github.git] / src / filter_z3950_client.cpp
index d4f78a9..4b63060 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Metaproxy.
-   Copyright (C) 2005-2012 Index Data
+   Copyright (C) 2005-2013 Index Data
 
 Metaproxy is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -238,9 +238,10 @@ void yf::Z3950Client::Assoc::fixup_init(ODR odr, Z_InitResponse *initrs)
                             odr,
                             (oaddinfo ? strlen(oaddinfo) : 0) + 20 +
                             m_host.length());
+                        *naddinfo = '\0';
                         if (oaddinfo && *oaddinfo)
                         {
-                            strcpy(naddinfo, oaddinfo);
+                            strcat(naddinfo, oaddinfo);
                             strcat(naddinfo, " ");
                         }
                         strcat(naddinfo, "(backend=");
@@ -424,12 +425,19 @@ yf::Z3950Client::Assoc *yf::Z3950Client::Rep::get_assoc(Package &package)
             mp::odr odr;
 
             package.response() = odr.create_initResponse(
-                apdu, YAZ_BIB1_TEMPORARY_SYSTEM_ERROR, "max sessions");
+                apdu, YAZ_BIB1_TEMPORARY_SYSTEM_ERROR,
+                "z3950_client: max sessions");
             package.session().close();
             return 0;
         }
         boost::xtime xt;
-        xtime_get(&xt, boost::TIME_UTC);
+        xtime_get(&xt,
+#if BOOST_VERSION >= 105000 
+                boost::TIME_UTC_
+#else
+                boost::TIME_UTC
+#endif 
+                );
 
         xt.sec += 15;
         if (!m_cond_session_ready.timed_wait(lock, xt))
@@ -437,7 +445,8 @@ yf::Z3950Client::Assoc *yf::Z3950Client::Rep::get_assoc(Package &package)
             mp::odr odr;
 
             package.response() = odr.create_initResponse(
-                apdu, YAZ_BIB1_TEMPORARY_SYSTEM_ERROR, "max sessions");
+                apdu, YAZ_BIB1_TEMPORARY_SYSTEM_ERROR,
+                "z3950_client: max sessions");
             package.session().close();
             return 0;
         }