Move check_file_exists() to file_utils.{h,cc}

This commit is contained in:
Joe Thornber 2013-09-16 13:42:39 +01:00
parent ea424c4134
commit 14122d6875
3 changed files with 16 additions and 10 deletions

View File

@ -18,16 +18,6 @@ using namespace std;
//----------------------------------------------------------------
namespace {
void check_file_exists(string const &file) {
struct stat info;
int r = ::stat(file.c_str(), &info);
if (r)
throw runtime_error("Couldn't stat file");
if (!S_ISREG(info.st_mode))
throw runtime_error("Not a regular file");
}
int restore(string const &xml_file, string const &dev) {
try {
block_manager<>::ptr bm = open_bm(dev, block_io<>::READ_ONLY);

View File

@ -54,4 +54,15 @@ persistent_data::open_bm(std::string const &dev_path, block_io<>::mode m)
return block_manager<>::ptr(new block_manager<>(dev_path, nr_blocks, 1, m));
}
void
persistent_data::check_file_exists(string const &file) {
struct stat info;
int r = ::stat(file.c_str(), &info);
if (r)
throw runtime_error("Couldn't stat file");
if (!S_ISREG(info.st_mode))
throw runtime_error("Not a regular file");
}
//----------------------------------------------------------------

View File

@ -3,11 +3,16 @@
#include "persistent-data/block.h"
#include <string>
//----------------------------------------------------------------
// FIXME: move to a different unit
namespace persistent_data {
persistent_data::block_address get_nr_blocks(string const &path);
block_manager<>::ptr open_bm(std::string const &dev_path, block_io<>::mode m);
void check_file_exists(std::string const &file);
}
//----------------------------------------------------------------