X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fmemcat.c;h=1e7f5bf7821131aa1c63c371dc46c6caa53d7332;hb=875200dc0c5668bba4f8a68b487f9d2f2a1eedb0;hp=ed540abb0c54b7eadcd0eabb2e869e4fdb4af39f;hpb=58cca49d065f6c53386d7e89c8e515f8b4e69485;p=awesomized%2Flibmemcached diff --git a/src/memcat.c b/src/memcat.c index ed540abb..1e7f5bf7 100644 --- a/src/memcat.c +++ b/src/memcat.c @@ -10,8 +10,8 @@ /* Prototypes */ void options_parse(int argc, char *argv[]); -static int opt_verbose; -static int opt_displayflag; +static int opt_verbose= 0; +static int opt_displayflag= 0; static char *opt_servers; int main(int argc, char *argv[]) @@ -26,7 +26,8 @@ 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) { @@ -36,29 +37,31 @@ int main(int argc, char *argv[]) { if (opt_displayflag) { - if (opt_verbose) - printf("key: %s\nflags: ", argv[optind]); - printf("%x\n", flags); + if (opt_verbose) + printf("key: %s\nflags: ", argv[optind]); + printf("%x\n", flags); } else { - if (opt_verbose) - printf("key: %s\nflags: %x\nlength: %zu\nvalue: ", - argv[optind], flags, string_length); - printf("%.*s\n", string_length, string); + if (opt_verbose) + printf("key: %s\nflags: %x\nlength: %zu\nvalue: ", + argv[optind], flags, string_length); + printf("%.*s\n", (int)string_length, string); free(string); } } else { fprintf(stderr, "memcat: %s: memcache error %s\n", - argv[optind], memcached_strerror(memc, rc)); + argv[optind], memcached_strerror(memc, rc)); } optind++; } memcached_deinit(memc); + free(opt_servers); + return 0; }; @@ -72,8 +75,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}, @@ -96,7 +99,7 @@ void options_parse(int argc, char *argv[]) exit(0); break; case OPT_SERVERS: /* --servers or -s */ - opt_servers= optarg; + opt_servers= strdup(optarg); break; case '?': /* getopt_long already printed an error message. */