Fix length mismatch
[m6w6/libmemcached] / libmemcached / memcached.hpp
index 76854e33932965f11c236034ccf50349b943285e..c42eba03c89f2be454133769c437b4b0b85081ab 100644 (file)
@@ -12,8 +12,8 @@
  * @brief Libmemcached C++ interface
  */
 
-#ifndef LIBMEMCACHED_MEMCACHED_HPP
-#define LIBMEMCACHED_MEMCACHED_HPP
+#ifndef LIBMEMCACHEDPP_H
+#define LIBMEMCACHEDPP_H
 
 #include <libmemcached/memcached.h>
 #include <libmemcached/exception.hpp>
@@ -55,6 +55,7 @@ public:
   {
     memcached_create(&memc);
     servers= memcached_servers_parse(servers_list.c_str());
+    memcached_server_push(&memc, servers);
   }
 
   Memcache(const std::string &hostname,
@@ -72,6 +73,7 @@ public:
     strsmt << port;
     servers_list.append(strsmt.str());
     servers= memcached_servers_parse(servers_list.c_str());
+    memcached_server_push(&memc, servers);
   }
 
   Memcache(memcached_st *clone) 
@@ -93,6 +95,7 @@ public:
   {
     memcached_clone(&memc, const_cast<memcached_st *>(&rhs.getImpl()));
     servers= memcached_servers_parse(servers_list.c_str());
+    memcached_server_push(&memc, servers);
   }
 
   Memcache &operator=(const Memcache &rhs)
@@ -101,6 +104,7 @@ public:
     {
       memcached_clone(&memc, const_cast<memcached_st *>(&rhs.getImpl()));
       servers= memcached_servers_parse(servers_list.c_str());
+      memcached_server_push(&memc, servers);
     }
     return *this;
   }
@@ -442,9 +446,8 @@ public:
       retval= set(it->first, it->second, expiration, flags);
       if (retval == false)
       {
-        char err_buff[64];
-        sprintf(err_buff,  "There was an error setting the key %s",
-          it->first.c_str());
+        std::string err_buff("There was an error setting the key ");
+        err_buff.append(it->first);
         throw(Error(err_buff, false));
       }
       ++it;
@@ -901,4 +904,4 @@ private:
 
 }
 
-#endif /* LIBMEMCACHED_MEMCACHED_HPP */
+#endif /* LIBMEMCACHEDPP_H */