cppcheck: fix warnings
[awesomized/libmemcached] / clients / memcapable.cc
index 25b470b017634394329afc31ddc6f631ee2598ed..c52b3c46b62ef484650dec7c52ef31a48bf4c570 100644 (file)
@@ -1,4 +1,5 @@
 /* LibMemcached
+ * Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/
  * Copyright (C) 2006-2009 Brian Aker
  * All rights reserved.
  *
@@ -12,7 +13,7 @@
 /* -*- Mode: C; tab-width: 2; c-basic-offset: 2; indent-tabs-mode: nil -*- */
 #undef NDEBUG
 
-#include <config.h>
+#include <mem_config.h>
 
 #ifdef HAVE_POLL_H
 #include <poll.h>
 #include <unistd.h>
 
 #include <libmemcached-1.0/memcached.h>
-#include <libmemcached/socket.hpp>
-#include <libmemcached/memcached/protocol_binary.h>
-#include <libmemcached/byteorder.h>
-#include <clients/utilities.h>
+
+#include "libmemcached/socket.hpp"
+#include "libmemcachedprotocol-0.0/binary.h"
+#include "libmemcached/byteorder.h"
+#include "clients/utilities.h"
 
 #include <vector>
 
@@ -108,9 +110,13 @@ static struct addrinfo *lookuphost(const char *hostname, const char *port)
   if (error != 0)
   {
     if (error != EAI_SYSTEM)
+    {
       fprintf(stderr, "getaddrinfo(): %s\n", gai_strerror(error));
+    }
     else
+    {
       perror("getaddrinfo()");
+    }
   }
 
   return ai;
@@ -122,7 +128,7 @@ static struct addrinfo *lookuphost(const char *hostname, const char *port)
  */
 static memcached_socket_t set_noblock(void)
 {
-#ifdef WIN32
+#if defined(_WIN32)
   u_long arg = 1;
   if (ioctlsocket(sock, FIONBIO, &arg) == SOCKET_ERROR)
   {
@@ -180,8 +186,9 @@ static memcached_socket_t connect_server(const char *hostname, const char *port)
       }
     }
     else
-      fprintf(stderr, "Failed to create socket: %s\n",
-              strerror(get_socket_errno()));
+    {
+      fprintf(stderr, "Failed to create socket: %s\n", strerror(get_socket_errno()));
+    }
 
     freeaddrinfo(ai);
   }
@@ -247,7 +254,7 @@ static enum test_return ensure(bool val, const char *expression, const char *fil
   {
     if (verbose)
     {
-      fprintf(stderr, "\n%s:%d: %s", file, line, expression);
+      fprintf(stdout, "\n%s:%d: %s", file, line, expression);
     }
 
     if (do_core)
@@ -332,7 +339,7 @@ static enum test_return retry_read(void *buf, size_t len)
     ssize_t nr= timeout_io_op(sock, POLLIN, ((char*) buf) + offset, len - offset);
     switch (nr) {
     case -1 :
-       fprintf(stderr, "Errno: %d %s\n", get_socket_errno(), strerror(errno));
+      fprintf(stderr, "Errno: %d %s\n", get_socket_errno(), strerror(errno));
       verify(get_socket_errno() == EINTR || get_socket_errno() == EAGAIN);
       break;
 
@@ -529,6 +536,7 @@ static enum test_return do_validate_response_header(response *rsp,
     case PROTOCOL_BINARY_CMD_REPLACEQ:
     case PROTOCOL_BINARY_CMD_SETQ:
       verify("Quiet command shouldn't return on success" == NULL);
+      /* fall through */
     default:
       break;
     }
@@ -1295,7 +1303,7 @@ static enum test_return test_ascii_verbosity(void)
   execute(receive_error_response());
 
   execute(send_string("verbosity noreply\r\n"));
-  execute(receive_error_response());
+  execute(test_ascii_version());
 
   execute(send_string("verbosity 0 noreply\r\n"));
   execute(test_ascii_version());
@@ -1387,11 +1395,15 @@ static enum test_return ascii_get_unknown_value(char **key, char **value, ssize_
   verify(*key != NULL);
   char *ptr= end + 1;
 
+  errno= 0;
   unsigned long val= strtoul(ptr, &end, 10); /* flags */
+  verify(errno == 0);
   verify(ptr != end);
   verify(val == 0);
   verify(end != NULL);
+  errno= 0;
   *ndata = (ssize_t)strtoul(end, &end, 10); /* size */
+  verify(errno == 0);
   verify(ptr != end);
   verify(end != NULL);
   while (end and *end != '\n' and isspace(*end))
@@ -1422,11 +1434,16 @@ static enum test_return ascii_get_value(const char *key, const char *value)
   char *ptr= buffer + 6 + strlen(key) + 1;
   char *end;
 
+  errno= 0;
   unsigned long val= strtoul(ptr, &end, 10); /* flags */
+  verify(errno == 0);
   verify(ptr != end);
   verify(val == 0);
   verify(end != NULL);
+
+  errno= 0;
   val= strtoul(end, &end, 10); /* size */
+  verify(errno == 0);
   verify(ptr != end);
   verify(val == datasize);
   verify(end != NULL);
@@ -1484,15 +1501,23 @@ static enum test_return ascii_gets_value(const char *key, const char *value,
   char *ptr= buffer + 6 + strlen(key) + 1;
   char *end;
 
+  errno= 0;
   unsigned long val= strtoul(ptr, &end, 10); /* flags */
+  verify(errno == 0);
   verify(ptr != end);
   verify(val == 0);
   verify(end != NULL);
+
+  errno= 0;
   val= strtoul(end, &end, 10); /* size */
+  verify(errno == 0);
   verify(ptr != end);
   verify(val == datasize);
   verify(end != NULL);
+
+  errno= 0;
   *cas= strtoul(end, &end, 10); /* cas */
+  verify(errno == 0);
   verify(ptr != end);
   verify(val == datasize);
   verify(end != NULL);
@@ -2055,8 +2080,8 @@ int main(int argc, char **argv)
   struct test_type_st tests= { true, true };
   int total= 0;
   int failed= 0;
-  const char *hostname= "localhost";
-  const char *port= "11211";
+  const char *hostname= NULL;
+  const char *port= MEMCACHED_DEFAULT_PORT_STRING;
   int cmd;
   bool prompt= false;
   const char *testname= NULL;
@@ -2124,12 +2149,18 @@ int main(int argc, char **argv)
     }
   }
 
+  if (!hostname)
+  {
+    fprintf(stderr, "No hostname was provided.\n");
+    return EXIT_FAILURE;
+  }
+
   initialize_sockets();
   sock= connect_server(hostname, port);
   if (sock == INVALID_SOCKET)
   {
     fprintf(stderr, "Failed to connect to <%s:%s>: %s\n",
-            hostname, port, strerror(get_socket_errno()));
+            hostname?:"(null)", port?:"(null)", strerror(get_socket_errno()));
     return EXIT_FAILURE;
   }
 
@@ -2178,18 +2209,30 @@ int main(int argc, char **argv)
       reconnect= true;
       ++failed;
       if (verbose)
+      {
         fprintf(stderr, "\n");
+      }
     }
     else if (ret == TEST_PASS_RECONNECT)
+    {
       reconnect= true;
+    }
+
+    if (ret == TEST_FAIL)
+    {
+      fprintf(stderr, "%s\n", status_msg[ret]);
+    }
+    else
+    {
+      fprintf(stdout, "%s\n", status_msg[ret]);
+    }
 
-    fprintf(stderr, "%s\n", status_msg[ret]);
     if (reconnect)
     {
       closesocket(sock);
       if ((sock= connect_server(hostname, port)) == INVALID_SOCKET)
       {
-        fprintf(stderr, "Failed to connect to <%s:%s>: %s\n", hostname, port, strerror(get_socket_errno()));
+        fprintf(stderr, "Failed to connect to <%s:%s>: %s\n", hostname?:"(null)", port?:"(null)", strerror(get_socket_errno()));
         fprintf(stderr, "%d of %d tests failed\n", failed, total);
         return EXIT_FAILURE;
       }