system/Error: move code to IsErrno()
This commit is contained in:
parent
db024c27d5
commit
b94de51ac4
@ -147,6 +147,14 @@ FormatErrno(const char *fmt, Args&&... args) noexcept
|
|||||||
return FormatErrno(errno, fmt, std::forward<Args>(args)...);
|
return FormatErrno(errno, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gcc_pure
|
||||||
|
inline bool
|
||||||
|
IsErrno(const std::system_error &e, int code) noexcept
|
||||||
|
{
|
||||||
|
return e.code().category() == ErrnoCategory() &&
|
||||||
|
e.code().value() == code;
|
||||||
|
}
|
||||||
|
|
||||||
gcc_pure
|
gcc_pure
|
||||||
static inline bool
|
static inline bool
|
||||||
IsFileNotFound(const std::system_error &e) noexcept
|
IsFileNotFound(const std::system_error &e) noexcept
|
||||||
@ -155,8 +163,7 @@ IsFileNotFound(const std::system_error &e) noexcept
|
|||||||
return e.code().category() == std::system_category() &&
|
return e.code().category() == std::system_category() &&
|
||||||
e.code().value() == ERROR_FILE_NOT_FOUND;
|
e.code().value() == ERROR_FILE_NOT_FOUND;
|
||||||
#else
|
#else
|
||||||
return e.code().category() == ErrnoCategory() &&
|
return IsErrno(e, ENOENT);
|
||||||
e.code().value() == ENOENT;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,8 +175,7 @@ IsPathNotFound(const std::system_error &e) noexcept
|
|||||||
return e.code().category() == std::system_category() &&
|
return e.code().category() == std::system_category() &&
|
||||||
e.code().value() == ERROR_PATH_NOT_FOUND;
|
e.code().value() == ERROR_PATH_NOT_FOUND;
|
||||||
#else
|
#else
|
||||||
return e.code().category() == ErrnoCategory() &&
|
return IsErrno(e, ENOTDIR);
|
||||||
e.code().value() == ENOTDIR;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,8 +187,7 @@ IsAccessDenied(const std::system_error &e) noexcept
|
|||||||
return e.code().category() == std::system_category() &&
|
return e.code().category() == std::system_category() &&
|
||||||
e.code().value() == ERROR_ACCESS_DENIED;
|
e.code().value() == ERROR_ACCESS_DENIED;
|
||||||
#else
|
#else
|
||||||
return e.code().category() == ErrnoCategory() &&
|
return IsErrno(e, EACCES);
|
||||||
e.code().value() == EACCES;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user