size_t string_length;\r
uint16_t flags;\r
memcached_return rc;\r
- unsigned int x;\r
\r
memc= memcached_init(NULL);\r
\r
\r
parse_opt_servers(memc, opt_servers);\r
\r
- for (x= 1; x < argc; x++)\r
+ while (optind <= argc) \r
{\r
- string= memcached_get(memc, argv[x], strlen(argv[x]),\r
+ string= memcached_get(memc, argv[argc], strlen(argv[argc]),\r
&string_length, &flags, &rc);\r
- if (rc == MEMCACHED_SUCCESS) {\r
- if (opt_displayflag) {\r
+ if (rc == MEMCACHED_SUCCESS) \r
+ {\r
+ if (opt_displayflag)\r
+ {\r
+ if (opt_verbose)\r
+ printf("key: %.*s\nflags: ", argv[argc]);\r
printf("%d\n", flags);\r
- } else {\r
- if (string) \r
- {\r
- printf("%.*s\n", string_length, string);\r
- free(string);\r
- }\r
+ }\r
+ else \r
+ {\r
+ if (opt_verbose)\r
+ printf("key: %.*s\nflags: %d\nlength: %d\nvalue: ",\r
+ argv[argc], flags, string_length);\r
+ printf("%.*s\n", string_length, string);\r
+ free(string);\r
}\r
}\r
+ optind++;\r
}\r
\r
memcached_deinit(memc);\r
{\r
{"version", no_argument, NULL, OPT_VERSION},\r
{"help", no_argument, NULL, OPT_HELP},\r
- {"verbose", no_argument, &opt_verbose, OPT_VERBOSE},\r
- {"debug", no_argument, &opt_verbose, OPT_DEBUG},\r
+ {"verbose", no_argument, &opt_verbose, 1},\r
+ {"debug", no_argument, &opt_verbose, 2},\r
{"servers", required_argument, NULL, OPT_SERVERS},\r
{"flag", no_argument, &opt_displayflag, OPT_FLAG},\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, memcat, 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 '?':\r
/* getopt_long already printed an error message. */\r