X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemdump.cc;h=48c35d3edf4e0b81e2419913bf32bf02a2d41d20;hb=b6719ab469b16022edd830cb90bc476b17fa6743;hp=bcd277c23ade0b6e5e4884f96562f114cce5f2d1;hpb=ad5cb8f903869065c72bb18bf98af6909189a5a9;p=awesomized%2Flibmemcached diff --git a/clients/memdump.cc b/clients/memdump.cc index bcd277c2..48c35d3e 100644 --- a/clients/memdump.cc +++ b/clients/memdump.cc @@ -62,9 +62,6 @@ int main(int argc, char *argv[]) options_parse(argc, argv); - memcached_st *memc= memcached_create(NULL); - process_hash_option(memc, opt_hash); - if (opt_servers == NULL) { char *temp; @@ -73,22 +70,32 @@ int main(int argc, char *argv[]) { opt_servers= strdup(temp); } - else + else if (argc >= 1 and argv[--argc]) + { + opt_servers= strdup(argv[argc]); + } + + if (opt_servers == NULL) { std::cerr << "No Servers provided" << std::endl; exit(EXIT_FAILURE); } } - memcached_server_st *servers; - if (opt_servers) + memcached_server_st* servers= memcached_servers_parse(opt_servers); + if (servers == NULL or memcached_server_list_count(servers) == 0) { - servers= memcached_servers_parse(opt_servers); + std::cerr << "Invalid server list provided:" << opt_servers << std::endl; + return EXIT_FAILURE; } - else + + memcached_st *memc= memcached_create(NULL); + if (memc == NULL) { - servers= memcached_servers_parse(argv[--argc]); + std::cerr << "Could not allocate a memcached_st structure.\n" << std::endl; + return EXIT_FAILURE; } + process_hash_option(memc, opt_hash); memcached_server_push(memc, servers); memcached_server_list_free(servers);