static int opt_verbose;\r
static char *opt_servers;\r
\r
-struct memcached_st *parse_opt_servers (struct memcached_st *m,\r
- char *opt_servers)\r
-{\r
- char *s, *hostname;\r
- unsigned int portnum;\r
- while (s = strsep(&opt_servers, ",")) {\r
- hostname = strsep(&s, ":");\r
- portnum = atoi(s);\r
- memcached_server_add(m, hostname, portnum);\r
- }\r
- return m;\r
-}\r
-\r
int main(int argc, char *argv[])\r
{\r
memcached_st *memc;\r
{\r
{"version", no_argument, NULL, OPT_VERSION},\r
{"help", no_argument, NULL, OPT_HELP},\r
- {"verbose", no_argument, &opt_verbose, 1},\r
- {"debug", no_argument, &opt_verbose, 2},\r
+ {"verbose", no_argument, &opt_verbose, OPT_VERBOSE},\r
+ {"debug", no_argument, &opt_verbose, OPT_DEBUG},\r
{"servers", required_argument, NULL, OPT_SERVERS},\r
{"expire", required_argument, NULL, OPT_EXPIRE},\r
{0, 0, 0, 0},\r
\r
while (1) \r
{\r
- option_rv = getopt_long(argc, argv, "", long_options, &option_index);\r
+ option_rv = getopt_long(argc, argv, "Vhvds:", long_options, &option_index);\r
if (option_rv == -1) break;\r
switch (option_rv) {\r
case 0:\r
break;\r
- case OPT_VERSION: /* --version */\r
+ case OPT_VERSION: /* --version or -V */\r
printf("memcache tools, memrm, v1.0\n");\r
exit(0);\r
break;\r
- case OPT_HELP: /* --help */\r
+ case OPT_HELP: /* --help or -h */\r
printf("useful help messages go here\n");\r
exit(0);\r
break;\r
- case OPT_SERVERS: /* --servers */\r
- opt_servers = strdup(optarg);\r
+ case OPT_SERVERS: /* --servers or -s */\r
+ opt_servers = optarg;\r
break;\r
case OPT_EXPIRE: /* --expire */\r
- expires = (time_t)atoi(optarg);\r
+ expires = (time_t)strtol(optarg, (char **)NULL, 10);\r
break;\r
case '?':\r
/* getopt_long already printed an error message. */\r
}\r
\r
memc= memcached_init(NULL);\r
- memc= parse_opt_servers(memc, opt_servers);\r
+ parse_opt_servers(memc, opt_servers);\r
\r
- while (optind <= argc) {\r
-\r
+ while (optind <= argc) \r
+ {\r
+ if (opt_verbose) \r
+ printf("key: %s\nexpires: %llu\n", argv[optind], expires);\r
rc = memcached_delete(memc, argv[optind], strlen(argv[optind]), expires);\r
\r
+ if (rc != MEMCACHED_SUCCESS) \r
+ {\r
+ fprintf(stderr, "memrm: %s: memcache error %s\n", \r
+ argv[optind], memcached_strerror(memc, rc));\r
+ }\r
+\r
optind++;\r
}\r
\r