X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fbin%2Fmemcat.cc;h=b8e49486f2812b044a77ec854639a3597bc8e457;hb=6ca93394f4d9913e8324910c5a1353e5b9adf7a6;hp=9e2704af5b0aef0fbe11e6abf943745218c4c18a;hpb=8734a061ef5bafbbe46523a0729898008d479dbf;p=awesomized%2Flibmemcached diff --git a/src/bin/memcat.cc b/src/bin/memcat.cc index 9e2704af..b8e49486 100644 --- a/src/bin/memcat.cc +++ b/src/bin/memcat.cc @@ -37,12 +37,22 @@ memcached_return_t memcat(const client_options &opt, memcached_st *memc, const c *ref << "key: " << key << "\n"; } if (opt.isset("flags")) { - *ref << "flags: " << flags << "\n"; + if (verbose) { + *ref << "flags: "; + } + *ref << flags << "\n"; } if (verbose) { *ref << "value: "; } - ref->write(val, len) << std::endl; + + ref->write(val, len); + + if (verbose || !opt.isset("file")) { + *ref << std::endl; + } + + ref->flush(); } if (val) { @@ -52,7 +62,7 @@ memcached_return_t memcat(const client_options &opt, memcached_st *memc, const c } int main(int argc, char *argv[]) { - client_options opt{PROGRAM_NAME, PROGRAM_VERSION, PROGRAM_DESCRIPTION, "key [ key ... ]"}; + client_options opt{PROGRAM_NAME, PROGRAM_VERSION, PROGRAM_DESCRIPTION, "key [key ...]"}; for (const auto &def : opt.defaults) { opt.add(def); @@ -89,23 +99,9 @@ int main(int argc, char *argv[]) { for (auto arg = argp; *arg; ++arg) { auto key = *arg; if (*key) { - std::ofstream fstream{}; std::ostream *ostream = check_ostream(opt, opt.argof("file"), fstream); - auto file = opt.argof("file"); - if (file && *file) { - fstream.open(file, std::ios::binary | std::ios::out); - if (!fstream.is_open()) { - exit_code = EXIT_FAILURE; - if (!opt.isset("quiet")) { - std::cerr << "Failed to open " << file << " for writing.\n"; - } - continue; - } - ostream = &fstream; - } - if (!check_return(opt, memc, key, memcat(opt, &memc, key, ostream))) { exit_code = EXIT_FAILURE; }