X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemstat.c;h=27c34a41c2caf4ad048c3bb4f8320cfe5950142a;hb=17e0b84e30fe82f6a2a995484a502179c73906ea;hp=70028f6b353167f482a6e5f31c9d397c997100a3;hpb=9b2b3e2ebeaf822b92a3a0b3da6978ef4151f76e;p=m6w6%2Flibmemcached diff --git a/clients/memstat.c b/clients/memstat.c index 70028f6b..27c34a41 100644 --- a/clients/memstat.c +++ b/clients/memstat.c @@ -1,3 +1,4 @@ +#include "libmemcached/common.h" #include #include #include @@ -6,6 +7,7 @@ #include #include #include +#include #include @@ -17,9 +19,9 @@ /* Prototypes */ static void options_parse(int argc, char *argv[]); -static void run_analyzer(memcached_st *memc, memcached_stat_st *stat, +static void run_analyzer(memcached_st *memc, memcached_stat_st *memc_stat, memcached_server_st *server_list); -static void print_server_listing(memcached_st *memc, memcached_stat_st *stat, +static void print_server_listing(memcached_st *memc, memcached_stat_st *memc_stat, memcached_server_st *server_list); static void print_analysis_report(memcached_st *memc, memcached_analysis_st *report, @@ -47,7 +49,7 @@ int main(int argc, char *argv[]) { memcached_return rc; memcached_st *memc; - memcached_stat_st *stat; + memcached_stat_st *memc_stat; memcached_server_st *servers; memcached_server_st *server_list; @@ -73,7 +75,7 @@ int main(int argc, char *argv[]) memcached_server_push(memc, servers); memcached_server_list_free(servers); - stat= memcached_stat(memc, NULL, &rc); + memc_stat= memcached_stat(memc, NULL, &rc); if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_SOME_ERRORS) { @@ -85,11 +87,11 @@ int main(int argc, char *argv[]) server_list= memcached_server_list(memc); if (opt_analyze) - run_analyzer(memc, stat, server_list); + run_analyzer(memc, memc_stat, server_list); else - print_server_listing(memc, stat, server_list); + print_server_listing(memc, memc_stat, server_list); - free(stat); + free(memc_stat); free(opt_servers); memcached_free(memc); @@ -97,7 +99,7 @@ int main(int argc, char *argv[]) return 0; } -static void run_analyzer(memcached_st *memc, memcached_stat_st *stat, +static void run_analyzer(memcached_st *memc, memcached_stat_st *memc_stat, memcached_server_st *server_list) { memcached_return rc; @@ -105,7 +107,7 @@ static void run_analyzer(memcached_st *memc, memcached_stat_st *stat, if (analyze_mode == NULL) { memcached_analysis_st *report; - report= memcached_analyze(memc, stat, &rc); + report= memcached_analyze(memc, memc_stat, &rc); if (rc != MEMCACHED_SUCCESS || report == NULL) { printf("Failure to analyze servers (%s)\n", @@ -134,9 +136,12 @@ static void run_analyzer(memcached_st *memc, memcached_stat_st *stat, if((servers[x]= memcached_create(NULL)) == NULL) { fprintf(stderr, "Failed to memcached_create()\n"); + if (x > 0) + memcached_free(servers[0]); x--; - for (; x >= 0; x--) + for (; x > 0; x--) memcached_free(servers[x]); + free(servers); return; } @@ -210,7 +215,7 @@ static void run_analyzer(memcached_st *memc, memcached_stat_st *stat, } } -static void print_server_listing(memcached_st *memc, memcached_stat_st *stat, +static void print_server_listing(memcached_st *memc, memcached_stat_st *memc_stat, memcached_server_st *server_list) { unsigned int x; @@ -222,14 +227,13 @@ static void print_server_listing(memcached_st *memc, memcached_stat_st *stat, char **list; char **ptr; - list= memcached_stat_get_keys(memc, &stat[x], &rc); + list= memcached_stat_get_keys(memc, &memc_stat[x], &rc); printf("Server: %s (%u)\n", memcached_server_name(memc, server_list[x]), memcached_server_port(memc, server_list[x])); for (ptr= list; *ptr; ptr++) { - memcached_return rc; - char *value= memcached_stat_get_value(memc, &stat[x], *ptr, &rc); + char *value= memcached_stat_get_value(memc, &memc_stat[x], *ptr, &rc); printf("\t %s: %s\n", *ptr, value); free(value);