X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fmemcat.c;h=3f0d92b4af6e8afceab649e74950ad89a59c1470;hb=7f1777bbeaa41f71567f20350cb2555f2d9466da;hp=a25bc12c9f5c6f3fa60d6ad96a0b59c524b005bc;hpb=d227f2a06b136be62333f220b80226c0ec1a472f;p=m6w6%2Flibmemcached diff --git a/clients/memcat.c b/clients/memcat.c index a25bc12c..3f0d92b4 100644 --- a/clients/memcat.c +++ b/clients/memcat.c @@ -9,7 +9,8 @@ * */ -#include "libmemcached/common.h" +#include "config.h" + #include #include #include @@ -47,6 +48,7 @@ int main(int argc, char *argv[]) int return_code= 0; options_parse(argc, argv); + initialize_sockets(); if (!opt_servers) { @@ -74,7 +76,7 @@ int main(int argc, char *argv[]) if (!initialize_sasl(memc, opt_username, opt_passwd)) { memcached_free(memc); - return 1; + return EXIT_FAILURE; } while (optind < argc) @@ -92,33 +94,41 @@ int main(int argc, char *argv[]) else { if (opt_verbose) + { printf("key: %s\nflags: %x\nlength: %zu\nvalue: ", argv[optind], flags, string_length); - if (opt_file) { - FILE *fp; - size_t written = 0; - - fp = fopen(opt_file, "w"); - if (!fp) { - perror("fopen"); - return_code= -1; - break; - } - - written = fwrite(string, 1, string_length, fp); - if (written != string_length) { - fprintf(stderr, "error writing file (written %d, should be %d)\n", written, string_length); - return_code= -1; - break; - } - - if (fclose(fp)) { - fprintf(stderr, "error closing file\n"); - return_code= -1; - break; - } } - else { + + if (opt_file) + { + FILE *fp; + size_t written; + + fp= fopen(opt_file, "w"); + if (!fp) + { + perror("fopen"); + return_code= -1; + break; + } + + written= fwrite(string, 1, string_length, fp); + if (written != string_length) + { + fprintf(stderr, "error writing file (written %zu, should be %zu)\n", written, string_length); + return_code= -1; + break; + } + + if (fclose(fp)) + { + fprintf(stderr, "error closing file\n"); + return_code= -1; + break; + } + } + else + { printf("%.*s\n", (int)string_length, string); } free(string); @@ -128,8 +138,10 @@ int main(int argc, char *argv[]) { fprintf(stderr, "memcat: %s: memcache error %s", argv[optind], memcached_strerror(memc, rc)); - if (memc->cached_errno) - fprintf(stderr, " system error %s", strerror(memc->cached_errno)); + if (memcached_last_error_errno(memc)) + { + fprintf(stderr, " system error %s", strerror(memcached_last_error_errno(memc))); + } fprintf(stderr, "\n"); return_code= -1;