From: Kefu Chai Date: Tue, 3 Aug 2021 09:10:17 +0000 (+0800) Subject: tools/ceph-dencoder: s/exit(1)/return 1/ in main() X-Git-Tag: v16.2.11~358^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8acc25ca48f2fadca8ac22278cdcdf3b2ff5b224;p=ceph.git tools/ceph-dencoder: s/exit(1)/return 1/ in main() for better readability. Signed-off-by: Kefu Chai (cherry picked from commit a412e0645410be983eac765e603919970f90229a) --- diff --git a/src/tools/ceph-dencoder/ceph_dencoder.cc b/src/tools/ceph-dencoder/ceph_dencoder.cc index 77893b3ad05d..d313576e39a6 100644 --- a/src/tools/ceph-dencoder/ceph_dencoder.cc +++ b/src/tools/ceph-dencoder/ceph_dencoder.cc @@ -144,30 +144,31 @@ int main(int argc, const char **argv) if (args.empty()) { cerr << "-h for help" << std::endl; - exit(1); + return 1; } for (std::vector::iterator i = args.begin(); i != args.end(); ++i) { string err; + auto& dencoders = registry.get(); if (*i == string("help") || *i == string("-h") || *i == string("--help")) { usage(cout); - exit(0); + return 0; } else if (*i == string("version")) { cout << CEPH_GIT_NICE_VER << std::endl; } else if (*i == string("list_types")) { for (auto& dencoder : dencoders) cout << dencoder.first << std::endl; - exit(0); + return 0; } else if (*i == string("type")) { ++i; if (i == args.end()) { cerr << "expecting type" << std::endl; - exit(1); + return 1; } string cname = *i; if (!dencoders.count(cname)) { cerr << "class '" << cname << "' unknown" << std::endl; - exit(1); + return 1; } den = dencoders[cname].get(); den->generate(); @@ -175,47 +176,47 @@ int main(int argc, const char **argv) ++i; if (i == args.end()) { cerr << "expecting byte count" << std::endl; - exit(1); + return 1; } skip = atoi(*i); } else if (*i == string("get_features")) { cout << CEPH_FEATURES_SUPPORTED_DEFAULT << std::endl; - exit(0); + return 0; } else if (*i == string("set_features")) { ++i; if (i == args.end()) { cerr << "expecting features" << std::endl; - exit(1); + return 1; } features = atoll(*i); } else if (*i == string("encode")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } den->encode(encbl, features | CEPH_FEATURE_RESERVED); // hack for OSDMap } else if (*i == string("decode")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } err = den->decode(encbl, skip); } else if (*i == string("copy_ctor")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } den->copy_ctor(); } else if (*i == string("copy")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } den->copy(); } else if (*i == string("dump_json")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } JSONFormatter jf(true); jf.open_object_section("object"); @@ -234,7 +235,7 @@ int main(int argc, const char **argv) ++i; if (i == args.end()) { cerr << "expecting filename" << std::endl; - exit(1); + return 1; } int r; if (*i == string("-")) { @@ -246,61 +247,61 @@ int main(int argc, const char **argv) } if (r < 0) { cerr << "error reading " << *i << ": " << err << std::endl; - exit(1); + return 1; } } else if (*i == string("export")) { ++i; if (i == args.end()) { cerr << "expecting filename" << std::endl; - exit(1); + return 1; } int fd = ::open(*i, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644); if (fd < 0) { cerr << "error opening " << *i << " for write: " << cpp_strerror(errno) << std::endl; - exit(1); + return 1; } int r = encbl.write_fd(fd); if (r < 0) { cerr << "error writing " << *i << ": " << cpp_strerror(errno) << std::endl; - exit(1); + return 1; } ::close(fd); } else if (*i == string("count_tests")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } cout << den->num_generated() << std::endl; } else if (*i == string("select_test")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } ++i; if (i == args.end()) { cerr << "expecting instance number" << std::endl; - exit(1); + return 1; } int n = atoi(*i); err = den->select_generated(n); } else if (*i == string("is_deterministic")) { if (!den) { cerr << "must first select type with 'type '" << std::endl; - exit(1); + return 1; } if (den->is_deterministic()) - exit(0); + return 0; else - exit(1); + return 1; } else { cerr << "unknown option '" << *i << "'" << std::endl; - exit(1); + return 1; } if (err.length()) { cerr << "error: " << err << std::endl; - exit(1); + return 1; } } return 0;