X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemtouch.cc;h=bf68a3dbbebf5a8fed6ee018caf2e38469fe658e;hb=b073677225181b9ab525a8304cb2a2cdcaac0277;hp=8bb3c78c3904ec73d31b59ba3e5e1d6f4c349893;hpb=8cf5f36e16ecaf6e1e7622a3a7cad81491602b0d;p=awesomized%2Flibmemcached diff --git a/clients/memtouch.cc b/clients/memtouch.cc index 8bb3c78c..bf68a3db 100644 --- a/clients/memtouch.cc +++ b/clients/memtouch.cc @@ -10,13 +10,15 @@ * */ -#include +#include +#include #include #include #include #include #include + #include #include "utilities.h" @@ -52,18 +54,24 @@ int main(int argc, char *argv[]) { opt_servers= strdup(temp); } - else + + if (opt_servers == NULL) { std::cerr << "No Servers provided" << std::endl; - return EXIT_FAILURE; + 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; + } + memcached_st *memc= memcached_create(NULL); process_hash_option(memc, opt_hash); - memcached_server_st *servers= memcached_servers_parse(opt_servers); - memcached_server_push(memc, servers); memcached_server_list_free(servers); memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, @@ -212,7 +220,13 @@ void options_parse(int argc, char *argv[]) break; case OPT_EXPIRE: + errno= 0; expiration= time_t(strtoul(optarg, (char **)NULL, 10)); + if (errno != 0) + { + fprintf(stderr, "Invalid value for --expire: %s\n", optarg); + exit(EXIT_FAILURE); + } break; case OPT_QUIET: