]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Lint cleanups
authorFred Morcos <fred.morcos@open-xchange.com>
Thu, 5 Sep 2024 09:41:59 +0000 (11:41 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Thu, 5 Sep 2024 09:41:59 +0000 (11:41 +0200)
modules/lmdbbackend/lmdbbackend.cc

index e728d18227851051632fcfd4a8387e07b9e55c60..5416b79209bc15514e11a05e5531c34e7118c278 100644 (file)
@@ -74,48 +74,54 @@ std::pair<uint32_t, uint32_t> LMDBBackend::getSchemaVersionAndShards(std::string
 
   uint32_t schemaversion;
 
-  int rc;
   MDB_env* tmpEnv = nullptr;
 
-  if ((rc = mdb_env_create(&tmpEnv)) != 0) {
+  if (mdb_env_create(&tmpEnv) != 0) {
     throw std::runtime_error("mdb_env_create failed");
   }
 
   std::unique_ptr<MDB_env, decltype(&mdb_env_close)> env{tmpEnv, mdb_env_close};
 
-  if ((rc = mdb_env_set_mapsize(tmpEnv, 0)) != 0) {
+  if (mdb_env_set_mapsize(tmpEnv, 0) != 0) {
     throw std::runtime_error("mdb_env_set_mapsize failed");
   }
 
-  if ((rc = mdb_env_set_maxdbs(tmpEnv, 20)) != 0) { // we need 17: 1 {"pdns"} + 4 {"domains", "keydata", "tsig", "metadata"} * 2 {v4, v5} * 2 {main, index in _0}
+  if (mdb_env_set_maxdbs(tmpEnv, 20) != 0) { // we need 17: 1 {"pdns"} + 4 {"domains", "keydata", "tsig", "metadata"} * 2 {v4, v5} * 2 {main, index in _0}
     throw std::runtime_error("mdb_env_set_maxdbs failed");
   }
 
-  if ((rc = mdb_env_open(tmpEnv, filename.c_str(), MDB_NOSUBDIR | MDB_RDONLY, 0600)) != 0) {
-    if (rc == ENOENT) {
-      // we don't have a database yet! report schema 0, with 0 shards
-      return {0u, 0u};
+  {
+    int rc = mdb_env_open(tmpEnv, filename.c_str(), MDB_NOSUBDIR | MDB_RDONLY, 0600);
+    if (rc != 0) {
+      if (rc == ENOENT) {
+        // we don't have a database yet! report schema 0, with 0 shards
+        return {0u, 0u};
+      }
+      throw std::runtime_error("mdb_env_open failed");
     }
-    throw std::runtime_error("mdb_env_open failed");
   }
 
+
   MDB_txn* txn = nullptr;
 
-  if ((rc = mdb_txn_begin(tmpEnv, NULL, MDB_RDONLY, &txn)) != 0) {
+  if (mdb_txn_begin(tmpEnv, nullptr, MDB_RDONLY, &txn) != 0) {
     throw std::runtime_error("mdb_txn_begin failed");
   }
 
   MDB_dbi dbi;
 
-  if ((rc = mdb_dbi_open(txn, "pdns", 0, &dbi)) != 0) {
-    if (rc == MDB_NOTFOUND) {
-      // this means nothing has been inited yet
-      // we pretend this means 5
+  {
+    int rc = mdb_dbi_open(txn, "pdns", 0, &dbi);
+    if (rc != 0) {
+      if (rc == MDB_NOTFOUND) {
+        // this means nothing has been inited yet
+        // we pretend this means 5
+        mdb_txn_abort(txn);
+        return {5u, 0u};
+      }
       mdb_txn_abort(txn);
-      return {5u, 0u};
+      throw std::runtime_error("mdb_dbi_open failed");
     }
-    mdb_txn_abort(txn);
-    throw std::runtime_error("mdb_dbi_open failed");
   }
 
   MDB_val key, data;
@@ -123,15 +129,17 @@ std::pair<uint32_t, uint32_t> LMDBBackend::getSchemaVersionAndShards(std::string
   key.mv_data = (char*)"schemaversion";
   key.mv_size = strlen((char*)key.mv_data);
 
-  if ((rc = mdb_get(txn, dbi, &key, &data)) != 0) {
-    if (rc == MDB_NOTFOUND) {
-      // this means nothing has been inited yet
-      // we pretend this means 5
-      mdb_txn_abort(txn);
-      return {5u, 0u};
-    }
+  {
+    int rc = mdb_get(txn, dbi, &key, &data);
+    if (rc != 0) {
+      if (rc == MDB_NOTFOUND) {
+        // this means nothing has been inited yet we pretend this means 5
+        mdb_txn_abort(txn);
+        return {5u, 0u};
+      }
 
-    throw std::runtime_error("mdb_get pdns.schemaversion failed");
+      throw std::runtime_error("mdb_get pdns.schemaversion failed");
+    }
   }
 
   if (data.mv_size == 4) {
@@ -156,14 +164,17 @@ std::pair<uint32_t, uint32_t> LMDBBackend::getSchemaVersionAndShards(std::string
   key.mv_data = (char*)"shards";
   key.mv_size = strlen((char*)key.mv_data);
 
-  if ((rc = mdb_get(txn, dbi, &key, &data)) != 0) {
-    if (rc == MDB_NOTFOUND) {
-      cerr << "schemaversion was set, but shards was not. Dazed and confused, trying to exit." << endl;
-      mdb_txn_abort(txn);
-      exit(1);
-    }
+  {
+    int rc = mdb_get(txn, dbi, &key, &data);
+    if (rc != 0) {
+      if (rc == MDB_NOTFOUND) {
+        cerr << "schemaversion was set, but shards was not. Dazed and confused, trying to exit." << endl;
+        mdb_txn_abort(txn);
+        exit(1);
+      }
 
-    throw std::runtime_error("mdb_get pdns.shards failed");
+      throw std::runtime_error("mdb_get pdns.shards failed");
+    }
   }
 
   if (data.mv_size == 4) {