Update from Padraig, one additional valgrind warning I found cleaned up
[m6w6/libmemcached] / libmemcached / memcached_parse.c
index 8bb56f5381dc2071c7f66b4ee33d732b7a6be5a2..ec695cfa897f606f55d9fc8d2bb16f66880af5dc 100644 (file)
@@ -5,16 +5,15 @@
   Frankly its too damn useful not to be here though.
 */
 
-#include <memcached.h>
 #include "common.h"
 
 memcached_server_st *memcached_servers_parse(const char *server_strings)
 {
   char *string;
-  unsigned int port;
+  uint32_t port;
   uint32_t weight;
-  char *begin_ptr;
-  char *end_ptr;
+  const char *begin_ptr;
+  const char *end_ptr;
   memcached_server_st *servers= NULL;
   memcached_return rc;
 
@@ -33,7 +32,7 @@ memcached_server_st *memcached_servers_parse(const char *server_strings)
 
     if (string)
     {
-      memcpy(buffer, begin_ptr, string - begin_ptr);
+      memcpy(buffer, begin_ptr, (size_t) (string - begin_ptr));
       buffer[(unsigned int)(string - begin_ptr)]= 0;
       begin_ptr= string+1;
     }
@@ -53,7 +52,7 @@ memcached_server_st *memcached_servers_parse(const char *server_strings)
 
       ptr++;
 
-      port= strtoul(ptr, (char **)NULL, 10);
+      port= (uint32_t) strtoul(ptr, (char **)NULL, 10);
 
       ptr2= index(ptr, ' ');
       if (! ptr2)
@@ -61,7 +60,7 @@ memcached_server_st *memcached_servers_parse(const char *server_strings)
       if (ptr2)
       {
         ptr2++;
-        weight = strtoul(ptr2, (char **)NULL, 10);
+        weight = (uint32_t) strtoul(ptr2, (char **)NULL, 10);
       }
     }