X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fmemcat.c;h=4253aa00fc2663e0a4ab6804f9eb7f9d100f93c7;hb=ca065f55235fd9979ede818963780f417d70c64e;hp=0b9690b2e4ee2d5e51fa2f94c8bc468f5031f5d1;hpb=5ec04ab8c3a401ca0d73abe77a3e4d78f47eb1f6;p=m6w6%2Flibmemcached diff --git a/src/memcat.c b/src/memcat.c index 0b9690b2..4253aa00 100644 --- a/src/memcat.c +++ b/src/memcat.c @@ -26,22 +26,35 @@ int main(int argc, char *argv[]) options_parse(argc, argv); - parse_opt_servers(memc, opt_servers); + if (opt_servers) + parse_opt_servers(memc, opt_servers); while (optind <= argc) { - string= memcached_get(memc, argv[argc], strlen(argv[argc]), + string= memcached_get(memc, argv[optind], strlen(argv[optind]), &string_length, &flags, &rc); if (rc == MEMCACHED_SUCCESS) { - if (opt_displayflag) - printf("%d\n", flags); + if (opt_displayflag) + { + if (opt_verbose) + printf("key: %s\nflags: ", argv[optind]); + printf("%u\n", flags); + } else { + if (opt_verbose) + printf("key: %s\nflags: %u\nlength: %uz\nvalue: ", + argv[optind], flags, string_length); printf("%.*s\n", string_length, string); free(string); } } + else + { + fprintf(stderr, "memcat: %s: memcache error %s\n", + argv[optind], memcached_strerror(memc, rc)); + } optind++; } @@ -60,8 +73,8 @@ void options_parse(int argc, char *argv[]) { {"version", no_argument, NULL, OPT_VERSION}, {"help", no_argument, NULL, OPT_HELP}, - {"verbose", no_argument, &opt_verbose, 1}, - {"debug", no_argument, &opt_verbose, 2}, + {"verbose", no_argument, &opt_verbose, OPT_VERBOSE}, + {"debug", no_argument, &opt_verbose, OPT_DEBUG}, {"servers", required_argument, NULL, OPT_SERVERS}, {"flag", no_argument, &opt_displayflag, OPT_FLAG}, {0, 0, 0, 0},