Sign fix for variable (this should solve the solaris warning).
[m6w6/libmemcached] / clients / memslap.c
index 11b4df8735ffe0f50a49522552fbaf1f9c04efd1..88a0f21ca25be9b4dde03b8d9b43613d8d368ff5 100644 (file)
@@ -311,6 +311,7 @@ void ms_help_command(const char *command_name, const char *description)
   {
     printf("    -%c, --%s%c\n", long_options[x].val, long_options[x].name,
            long_options[x].has_arg ? '=' : ' ');
+
     if ((help_message= (char *)ms_lookup_help(long_options[x].val)) != NULL)
     {
       printf("        %s\n", help_message);
@@ -430,7 +431,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_CONCURRENCY:       /* --concurrency or -c */
-      ms_setting.nconns= atoi(optarg);
+      ms_setting.nconns= (uint32_t)strtoul(optarg, (char **) NULL, 10);
       if (ms_setting.nconns <= 0)
       {
         fprintf(stderr, "Concurrency must be greater than 0.:-)\n");
@@ -439,7 +440,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_EXECUTE_NUMBER:        /* --execute_number or -x */
-      ms_setting.exec_num= atoll(optarg);
+      ms_setting.exec_num= (int)strtol(optarg, (char **) NULL, 10);
       if (ms_setting.exec_num <= 0)
       {
         fprintf(stderr, "Execute number must be greater than 0.:-)\n");
@@ -448,7 +449,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_THREAD_NUMBER:     /* --threads or -T */
-      ms_setting.nthreads= atoi(optarg);
+      ms_setting.nthreads= (int)strtol(optarg, (char **) NULL, 10);
       if (ms_setting.nthreads <= 0)
       {
         fprintf(stderr, "Threads number must be greater than 0.:-)\n");
@@ -457,7 +458,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_FIXED_LTH:         /* --fixed_size or -X */
-      ms_setting.fixed_value_size= (size_t)atoi(optarg);
+      ms_setting.fixed_value_size= (size_t)strtoull(optarg, (char **) NULL, 10);
       if ((ms_setting.fixed_value_size <= 0)
           || (ms_setting.fixed_value_size > MAX_VALUE_SIZE))
       {
@@ -478,7 +479,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_GETS_DIVISION:         /* --division or -d */
-      ms_setting.mult_key_num= atoi(optarg);
+      ms_setting.mult_key_num= (int)strtol(optarg, (char **) NULL, 10);
       if (ms_setting.mult_key_num <= 0)
       {
         fprintf(stderr, "Multi-get key number must be greater than 0.:-)\n");
@@ -564,7 +565,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_SOCK_PER_CONN:         /* --conn_sock or -n */
-      ms_setting.sock_per_conn= atoi(optarg);
+      ms_setting.sock_per_conn= (int)strtol(optarg, (char **) NULL, 10);
       if (ms_setting.sock_per_conn <= 0)
       {
         fprintf(stderr, "Number of socks of each concurrency "
@@ -601,7 +602,7 @@ static void ms_options_parse(int argc, char *argv[])
       break;
 
     case OPT_REP_WRITE_SRV:         /* --rep_write or -p */
-      ms_setting.rep_write_srv= atoi(optarg);
+      ms_setting.rep_write_srv= (int)strtol(optarg, (char **) NULL, 10);
       if (ms_setting.rep_write_srv <= 0)
       {
         fprintf(stderr,
@@ -626,11 +627,20 @@ static int ms_check_para()
 {
   if (ms_setting.srv_str == NULL)
   {
-    fprintf(stderr, "No Servers provided.\n\n");
-    return -1;
+    char *temp;
+
+    if ((temp= getenv("MEMCACHED_SERVERS")))
+    {
+      ms_setting.srv_str= strdup(temp);
+    }
+    else
+    {
+      fprintf(stderr, "No Servers provided\n\n");
+      return -1;
+    }
   }
 
-  if (ms_setting.nconns % ms_setting.nthreads != 0)
+  if (ms_setting.nconns % (uint32_t)ms_setting.nthreads != 0)
   {
     fprintf(stderr, "Concurrency must be the multiples of threads count.\n");
     return -1;
@@ -774,7 +784,7 @@ static void ms_monitor_slap_mode()
   {
     /* Wait all the connects complete warm up. */
     pthread_mutex_lock(&ms_global.init_lock.lock);
-    while (ms_global.init_lock.count < ms_setting.nconns)
+    while (ms_global.init_lock.count < (int)ms_setting.nconns)
     {
       pthread_cond_wait(&ms_global.init_lock.cond,
                         &ms_global.init_lock.lock);
@@ -794,8 +804,8 @@ static void ms_monitor_slap_mode()
       second++;
 
       if ((ms_setting.stat_freq > 0) && (second % ms_setting.stat_freq == 0)
-          && ((int32_t)ms_stats.active_conns >= ms_setting.nconns)
-          && (ms_stats.active_conns <= (uint32_t)INT_MAX))
+          && (ms_stats.active_conns >= ms_setting.nconns)
+          && (ms_stats.active_conns <= INT_MAX))
       {
         ms_print_statistics(second);
       }
@@ -824,7 +834,7 @@ static void ms_monitor_slap_mode()
      * We loop until we know that all connects have cleaned up.
      */
     pthread_mutex_lock(&ms_global.run_lock.lock);
-    while (ms_global.run_lock.count < ms_setting.nconns)
+    while (ms_global.run_lock.count < (int)ms_setting.nconns)
     {
       pthread_cond_wait(&ms_global.run_lock.cond, &ms_global.run_lock.lock);
     }