Fix length mismatch
[m6w6/libmemcached] / libmemcached / memcached.hpp
index a101da349073ce4910bdecacef4ed7188eb6c1b6..c42eba03c89f2be454133769c437b4b0b85081ab 100644 (file)
@@ -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;