X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemtouch.cc;h=09e0c92a2074fb87479960f81d44d1d25f4b48ac;hb=7fa883aca713b99985cf35750ab0e2ffe6ce58e0;hp=4f3be80e8a9b57b68c6d1408a85369ee2ae3f5d3;hpb=c69776b7cf0d0c26b07abd83da8a797182ff6fae;p=awesomized%2Flibmemcached diff --git a/clients/memtouch.cc b/clients/memtouch.cc index 4f3be80e..09e0c92a 100644 --- a/clients/memtouch.cc +++ b/clients/memtouch.cc @@ -1,4 +1,5 @@ /* LibMemcached + * Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/ * Copyright (C) 2006-2009 Brian Aker * All rights reserved. * @@ -9,19 +10,21 @@ * */ -#include +#include +#include #include #include #include #include #include -#include + +#include #include "utilities.h" #define PROGRAM_NAME "memtouch" -#define PROGRAM_DESCRIPTION "Update the expiration value of an alreasy existing value in the sever" +#define PROGRAM_DESCRIPTION "Update the expiration value of an already existing value in the server" /* Prototypes */ @@ -51,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, @@ -211,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: