Include config.h before any system header to avoid problems with FILE_OFFSET_BITS...
[m6w6/libmemcached] / clients / utilities.c
index c845ed1aa253c721dcd0f7bb7d692427aa4f8d36..e7d8df94b067302c8ca2095501d2f5fa03c6e1ab 100644 (file)
@@ -1,3 +1,4 @@
+#include "libmemcached/common.h"
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
@@ -8,26 +9,26 @@ long int timedif(struct timeval a, struct timeval b)
 {
   register int us, s;
 
-  us = a.tv_usec - b.tv_usec;
+  us = (int)(a.tv_usec - b.tv_usec);
   us /= 1000;
-  s = a.tv_sec - b.tv_sec;
+  s = (int)(a.tv_sec - b.tv_sec);
   s *= 1000;
   return s + us;
 }
 
-void version_command(char *command_name)
+void version_command(const char *command_name)
 {
   printf("%s v%u.%u\n", command_name, 1, 0);
   exit(0);
 }
 
-char *lookup_help(memcached_options option)
+static const char *lookup_help(memcached_options option)
 {
   switch (option)
   {
   case OPT_SERVERS: return("List which servers you wish to connect to.");
   case OPT_VERSION: return("Display the version of the application and then exit.");
-  case OPT_HELP: return("Diplay this message and then exit.");
+  case OPT_HELP: return("Display this message and then exit.");
   case OPT_VERBOSE: return("Give more details on the progression of the application.");
   case OPT_DEBUG: return("Provide output only useful for debugging.");
   case OPT_FLAG: return("Provide flag information for storage operation.");
@@ -37,21 +38,25 @@ char *lookup_help(memcached_options option)
   case OPT_ADD: return("Use add command with memcached when storing.");
   case OPT_SLAP_EXECUTE_NUMBER: return("Number of times to execute the given test.");
   case OPT_SLAP_INITIAL_LOAD: return("Number of key pairs to load before executing tests.");
-  case OPT_SLAP_TEST: return("Test to run.");
+  case OPT_SLAP_TEST: return("Test to run (currently \"get\" or \"set\").");
   case OPT_SLAP_CONCURRENCY: return("Number of users to simulate with load.");
   case OPT_SLAP_NON_BLOCK: return("Set TCP up to use non-blocking IO.");
   case OPT_SLAP_TCP_NODELAY: return("Set TCP socket up to use nodelay.");
   case OPT_FLUSH: return("Flush servers before running tests.");
   case OPT_HASH: return("Select hash type.");
+  case OPT_BINARY: return("Switch to binary protocol.");
+  case OPT_ANALYZE: return("Analyze the provided servers.");
+  case OPT_UDP: return("Use UDP protocol when communicating with server.");
+  default: WATCHPOINT_ASSERT(0);
   };
 
   WATCHPOINT_ASSERT(0);
   return "forgot to document this function :)";
 }
 
-void help_command(char *command_name, char *description,
+void help_command(const char *command_name, const char *description,
                   const struct option *long_options,
-                  memcached_programs_help_st *options)
+                  memcached_programs_help_st *options __attribute__((unused)))
 {
   unsigned int x;
 
@@ -61,7 +66,7 @@ void help_command(char *command_name, char *description,
 
   for (x= 0; long_options[x].name; x++) 
   {
-    char *help_message;
+    const char *help_message;
 
     printf("\t --%s%c\n", long_options[x].name, 
            long_options[x].has_arg ? '=' : ' ');