memcap works, though it does nothing useful at the moment :)
[m6w6/libmemcached] / src / utilities.c
index 4f5b4526d979670566f3941f37ffdd13977ae3ba..a2dc944f05d3e27e9a1399c58953179f17a36554 100644 (file)
@@ -1,16 +1,17 @@
 #include <ctype.h>
+#include <strings.h>
 #include <memcached.h>
 
-void parse_opt_servers(memcached_st *memc,
-                       char *server_strings)
+memcached_server_st *parse_opt_servers(char *server_strings)
 {
   char *string;
   unsigned int port;
   char *begin_ptr;
   char *end_ptr;
+  memcached_server_st *servers= NULL;
+  memcached_return rc;
 
   assert(server_strings);
-  assert(memc);
 
   end_ptr= server_strings + strlen(server_strings);
 
@@ -46,9 +47,22 @@ void parse_opt_servers(memcached_st *memc,
       port= strtol(ptr, (char **)NULL, 10);
     }
 
-    memcached_server_add(memc, buffer, port);
+    servers= memcached_server_list_append(servers, buffer, port, &rc);
 
     if (isspace(*begin_ptr))
       begin_ptr++;
   }
+
+  return servers;
+}
+
+long int timedif(struct timeval a, struct timeval b)
+{
+  register int us, s;
+
+  us = a.tv_usec - b.tv_usec;
+  us /= 1000;
+  s = a.tv_sec - b.tv_sec;
+  s *= 1000;
+  return s + us;
 }