diff options
| author | Martin Ridgers <[email protected]> | 2021-09-15 12:32:52 +0200 |
|---|---|---|
| committer | Martin Ridgers <[email protected]> | 2021-09-15 12:32:52 +0200 |
| commit | e50c0ad976ed0d284b3984e5aa513987af3d32ec (patch) | |
| tree | c9f52e019592a8a0e9a32716c8aea286bd67b7da /zencore/include | |
| parent | Removed constexpr for anything that uses GetSize() (diff) | |
| download | zen-e50c0ad976ed0d284b3984e5aa513987af3d32ec.tar.xz zen-e50c0ad976ed0d284b3984e5aa513987af3d32ec.zip | |
Cross-platform zen::GetLastError()
Diffstat (limited to 'zencore/include')
| -rw-r--r-- | zencore/include/zencore/except.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/zencore/include/zencore/except.h b/zencore/include/zencore/except.h index 8625f01d0..b1479128e 100644 --- a/zencore/include/zencore/except.h +++ b/zencore/include/zencore/except.h @@ -3,7 +3,11 @@ #pragma once #include <zencore/string.h> -#include <zencore/windows.h> +#if ZEN_PLATFORM_WINDOWS +# include <zencore/windows.h> +#else +# include <errno.h> +#endif #include <source_location> #include <string> @@ -57,6 +61,16 @@ ZENCORE_API void ThrowLastError(std::string_view Message, const std::source_loca ZENCORE_API std::string GetLastErrorAsString(); ZENCORE_API std::string GetWindowsErrorAsString(uint32_t Win32ErrorCode); +inline int32_t +GetLastError() +{ +#if ZEN_PLATFORM_WINDOWS + return ::GetLastError(); +#else + return errno; +#endif +} + inline std::error_code MakeWin32ErrorCode(uint32_t Win32ErrorCode) noexcept { @@ -66,7 +80,7 @@ MakeWin32ErrorCode(uint32_t Win32ErrorCode) noexcept inline std::error_code MakeErrorCodeFromLastError() noexcept { - return std::error_code(::GetLastError(), std::system_category()); + return std::error_code(zen::GetLastError(), std::system_category()); } } // namespace zen |