[cache_repair, thin_repair] fix bug introduced in recent patch
I hadn't realised that check_file_exists() also checked that it was a regular file, which we don't want for the couple of uses I recently added. This patch adds an optional arg must_be_regular_file, and defaults it to true, preserving the original behaviour. The recent additions have this set to false.
This commit is contained in:
@ -66,13 +66,13 @@ file_utils::file_exists(string const &path) {
|
||||
}
|
||||
|
||||
void
|
||||
file_utils::check_file_exists(string const &file) {
|
||||
file_utils::check_file_exists(string const &file, bool must_be_regular_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))
|
||||
if (must_be_regular_file && !S_ISREG(info.st_mode))
|
||||
throw runtime_error("Not a regular file");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user