X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fmemstat.c;h=6f3c55d80fee6dffa79c6e283090b01cc5537cce;hb=99803a66dda300ea7a5741fe8aae852e8b746366;hp=a82f3f123d176ecde20f16f1df2a40f436600abd;hpb=113160884d25c401dc352cfab093b5b7b1a4fde0;p=awesomized%2Flibmemcached diff --git a/src/memstat.c b/src/memstat.c index a82f3f12..6f3c55d8 100644 --- a/src/memstat.c +++ b/src/memstat.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include @@ -11,6 +13,9 @@ #include "client_options.h" #include "utilities.h" +#define PROGRAM_NAME "memstat" +#define PROGRAM_DESCRIPTION "Output the state of a memcached cluster." + /* Prototypes */ void options_parse(int argc, char *argv[]); @@ -30,17 +35,24 @@ int main(int argc, char *argv[]) options_parse(argc, argv); if (!opt_servers) - return 0; + { + char *temp; + + if ((temp= getenv("MEMCACHED_SERVERS"))) + opt_servers= strdup(temp); + else + exit(1); + } - memc= memcached_init(NULL); + memc= memcached_create(NULL); - servers= parse_opt_servers(opt_servers); + servers= memcached_servers_parse(opt_servers); memcached_server_push(memc, servers); memcached_server_list_free(servers); stat= memcached_stat(memc, NULL, &rc); - if (rc != MEMCACHED_SUCCESS || rc != MEMCACHED_SOME_ERRORS); + if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_SOME_ERRORS) { printf("Failure to communicate with servers (%s)\n", memcached_strerror(memc, rc)); @@ -77,13 +89,18 @@ int main(int argc, char *argv[]) free(stat); free(opt_servers); - memcached_deinit(memc); + memcached_free(memc); return 0; } void options_parse(int argc, char *argv[]) { + memcached_programs_help_st help_options[]= + { + {0}, + }; + static struct option long_options[]= { {"version", no_argument, NULL, OPT_VERSION}, @@ -113,12 +130,10 @@ void options_parse(int argc, char *argv[]) opt_verbose = OPT_DEBUG; break; case OPT_VERSION: /* --version or -V */ - printf("memcache tools, memcat, v1.0\n"); - exit(0); + version_command(PROGRAM_NAME); break; case OPT_HELP: /* --help or -h */ - printf("useful help messages go here\n"); - exit(0); + help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options); break; case OPT_SERVERS: /* --servers or -s */ opt_servers= strdup(optarg);