]> git.lizzy.rs Git - minetest.git/blobdiff - src/database-leveldb.cpp
Fix LevelDB maps
[minetest.git] / src / database-leveldb.cpp
index ec28198b5e8984ec8afbfdf5edaceb93f177e474..0526b0b29318b439da4943bff548181aaaa6a188 100644 (file)
@@ -94,7 +94,7 @@ MapBlock* Database_LevelDB::loadBlock(v3s16 blockpos)
        std::string datastr;
        leveldb::Status s = m_database->Get(leveldb::ReadOptions(),
                i64tos(getBlockAsInteger(blockpos)), &datastr);
-       if (datastr.length() == 0) {
+       if (datastr.length() == 0 && s.ok()) {
                errorstream << "Blank block data in database (datastr.length() == 0) ("
                        << blockpos.X << "," << blockpos.Y << "," << blockpos.Z << ")" << std::endl;
 
@@ -104,6 +104,7 @@ MapBlock* Database_LevelDB::loadBlock(v3s16 blockpos)
                } else {
                        throw SerializationError("Blank block data in database");
                }
+               return NULL;
        }
 
        if (s.ok()) {