Detect XML in *_check tools (#86)

* [*_check] Detect XML in cache_check and era_check

This is based on previous commit b10d8d4440.

* [*_check] Fix typo in check_superblock
This commit is contained in:
csonto
2017-10-05 14:47:10 +02:00
committed by Joe Thornber
parent db9259d303
commit 5b5aa971a0
9 changed files with 66 additions and 21 deletions

View File

@ -7,6 +7,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <sstream>
#include <unistd.h>
@ -17,6 +18,14 @@ using namespace std;
//----------------------------------------------------------------
bool
persistent_data::check_for_xml(block_manager<>::ptr bm) {
block_manager<>::read_ref b = bm->read_lock(0);
const char *data = reinterpret_cast<const char *>(b.data());
return (!strncmp(data, "<superblock", 11) || !strncmp(data, "<?xml", 5)
|| !strncmp(data, "<!DOCTYPE", 9));
}
persistent_data::block_address
persistent_data::get_nr_blocks(std::string const &path, sector_t block_size)
{