X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemslap.cc;h=05a491fbef9aec5d7a41c94abb69f85cfa64af28;hb=6d0a8ff888dcb162d5a3aee423f0b05e4f112cc0;hp=d32b1c040e79b6e686506dd3d06f011ae8b11c20;hpb=ff3501d8602ddcf33b99d203f4ceb017ac411ce6;p=awesomized%2Flibmemcached diff --git a/clients/memslap.cc b/clients/memslap.cc index d32b1c04..05a491fb 100644 --- a/clients/memslap.cc +++ b/clients/memslap.cc @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -50,7 +51,6 @@ #include #include #include -#include #include #include @@ -212,14 +212,20 @@ int main(int argc, char *argv[]) { opt_servers= strdup(temp); } - else + + if (opt_servers == NULL) { - fprintf(stderr, "No Servers provided\n"); - return EXIT_FAILURE; + std::cerr << "No Servers provided" << std::endl; + exit(EXIT_FAILURE); } } memcached_server_st *servers= memcached_servers_parse(opt_servers); + if (servers == NULL or memcached_server_list_count(servers) == 0) + { + std::cerr << "Invalid server list provided:" << opt_servers << std::endl; + return EXIT_FAILURE; + } pthread_mutex_init(&sleeper_mutex, NULL); pthread_cond_init(&sleep_threshhold, NULL); @@ -468,15 +474,33 @@ void options_parse(int argc, char *argv[]) break; case OPT_SLAP_CONCURRENCY: + errno= 0; opt_concurrency= (unsigned int)strtoul(optarg, (char **)NULL, 10); + if (errno != 0) + { + fprintf(stderr, "Invalid value for concurrency: %s\n", optarg); + exit(EXIT_FAILURE); + } break; case OPT_SLAP_EXECUTE_NUMBER: + errno= 0; opt_execute_number= (unsigned int)strtoul(optarg, (char **)NULL, 10); + if (errno != 0) + { + fprintf(stderr, "Invalid value for execute: %s\n", optarg); + exit(EXIT_FAILURE); + } break; case OPT_SLAP_INITIAL_LOAD: + errno= 0; opt_createial_load= (unsigned int)strtoul(optarg, (char **)NULL, 10); + if (errno != 0) + { + fprintf(stderr, "Invalid value for initial load: %s\n", optarg); + exit(EXIT_FAILURE); + } break; case OPT_QUIET: