X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fbin%2Fmemexist.cc;h=f4ede92a82f2bef67c7d16c3cc33704a55fdab37;hb=8ba89beac798e2b3d1f96b46471e3b58d8c61d1d;hp=b3b7a1ec9a1fcbbb77d482f842480cbca06ad421;hpb=2e9eb0803f1fc81bfe6c3e2dda0ed2cbe1aa6a76;p=awesomized%2Flibmemcached diff --git a/src/bin/memexist.cc b/src/bin/memexist.cc index b3b7a1ec..f4ede92a 100644 --- a/src/bin/memexist.cc +++ b/src/bin/memexist.cc @@ -20,6 +20,7 @@ #define PROGRAM_VERSION "1.1" #include "common/options.hpp" +#include "common/checks.hpp" int main(int argc, char *argv[]) { client_options opt{PROGRAM_NAME, PROGRAM_VERSION, PROGRAM_DESCRIPTION, "key [key ...]"}; @@ -34,10 +35,7 @@ int main(int argc, char *argv[]) { } memcached_st memc; - if (!memcached_create(&memc)) { - if (!opt.isset("quiet")) { - std::cerr << "Failed to initialize memcached client.\n"; - } + if (!check_memcached(opt, memc)) { exit(EXIT_FAILURE); } @@ -46,31 +44,21 @@ int main(int argc, char *argv[]) { exit(EXIT_FAILURE); } - if (!*argp) { - if (!opt.isset("quiet")) { - std::cerr << "No key(s) provided.\n"; - } + if (!check_argp(opt, argp, "No key(s) provided.")) { memcached_free(&memc); exit(EXIT_FAILURE); } auto exit_code = EXIT_SUCCESS; for (auto arg = argp; *arg; ++arg) { - auto rc = memcached_exist(&memc, *arg, strlen(*arg)); - - if (MEMCACHED_SUCCESS == rc) { - if (opt.isset("verbose")) { - std::cerr << "Found key '" << *arg << "'.\n"; - } - } else { - exit_code = EXIT_FAILURE; - if (opt.isset("verbose")) { - if (rc == MEMCACHED_NOTFOUND) { - std::cerr << "Could not find key '" << *arg << "'.\n"; - } else { - std::cerr << "Fatal error for key '" << *arg << "': " - << memcached_last_error_message(&memc) << "\n"; + auto key = *arg; + if (*key) { + if (check_return(opt, memc, key, memcached_exist(&memc, *arg, strlen(*arg)))) { + if (opt.isset("verbose")) { + std::cerr << "Found key '" << *arg << "'.\n"; } + } else { + exit_code = EXIT_FAILURE; } } }