diff --git a/src/system/Error.hxx b/src/system/Error.hxx index 7f862a0ee..5e2ff3bae 100644 --- a/src/system/Error.hxx +++ b/src/system/Error.hxx @@ -138,4 +138,17 @@ IsFileNotFound(const std::system_error &e) #endif } +gcc_pure +static inline bool +IsAccessDenied(const std::system_error &e) +{ +#ifdef WIN32 + return e.code().category() == std::system_category() && + e.code().value() == ERROR_ACCESS_DENIED; +#else + return e.code().category() == std::system_category() && + e.code().value() == EACCES; +#endif +} + #endif