auto const mod = i->optional_number_attribute<time_t>("mtime");
if (mod) {
_last_write_times.push_back (*mod);
- } else if (boost::filesystem::exists(i->content())) {
- _last_write_times.push_back (boost::filesystem::last_write_time(i->content()));
} else {
- _last_write_times.push_back (0);
+ boost::system::error_code ec;
+ auto last_write = boost::filesystem::last_write_time(i->content(), ec);
+ _last_write_times.push_back (ec ? 0 : last_write);
}
}
_digest = node->optional_string_child ("Digest").get_value_or ("X");
_last_write_times.clear ();
for (auto i: _paths) {
- _last_write_times.push_back (boost::filesystem::last_write_time(i));
+ boost::system::error_code ec;
+ auto last_write = boost::filesystem::last_write_time(i, ec);
+ _last_write_times.push_back (ec ? 0 : last_write);
}
}
_paths = paths;
_last_write_times.clear ();
for (auto i: _paths) {
- _last_write_times.push_back (boost::filesystem::last_write_time(i));
+ boost::system::error_code ec;
+ auto last_write = boost::filesystem::last_write_time(i, ec);
+ _last_write_times.push_back (ec ? 0 : last_write);
}
}
}
{
boost::mutex::scoped_lock lm (_mutex);
_paths.push_back (p);
- _last_write_times.push_back (boost::filesystem::last_write_time(p));
+ boost::system::error_code ec;
+ auto last_write = boost::filesystem::last_write_time(p, ec);
+ _last_write_times.push_back (ec ? 0 : last_write);
}
}
}
- last_write_time = boost::filesystem::last_write_time (p);
+ boost::system::error_code ec;
+ auto last_write = boost::filesystem::last_write_time (p, ec);
+ last_write_time = ec ? 0 : last_write;
}