]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tools/ceph-dencoder: s/exit(1)/return 1/ in main()
authorKefu Chai <kchai@redhat.com>
Tue, 3 Aug 2021 09:10:17 +0000 (17:10 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 3 Aug 2021 12:51:43 +0000 (20:51 +0800)
for better readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/tools/ceph-dencoder/ceph_dencoder.cc

index f4abbcd7ca3dbc55f2df87de5d606153f327c90d..eb42d9e22604447e13e26f9e5b7909629873876e 100644 (file)
@@ -147,30 +147,31 @@ int main(int argc, const char **argv)
 
   if (args.empty()) {
     cerr << "-h for help" << std::endl;
-    exit(1);
+    return 1;
   }
   for (std::vector<const char*>::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();
@@ -178,47 +179,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 <name>'" << 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 <name>'" << 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 <name>'" << std::endl;
-       exit(1);
+       return 1;
       }
       den->copy_ctor();
     } else if (*i == string("copy")) {
       if (!den) {
        cerr << "must first select type with 'type <name>'" << std::endl;
-       exit(1);
+       return 1;
       }
       den->copy();
     } else if (*i == string("dump_json")) {
       if (!den) {
        cerr << "must first select type with 'type <name>'" << std::endl;
-       exit(1);
+       return 1;
       }
       JSONFormatter jf(true);
       jf.open_object_section("object");
@@ -237,7 +238,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("-")) {
@@ -249,61 +250,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 <name>'" << 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 <name>'" << 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 <name>'" << 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;