diff options
| author | Martin Ridgers <[email protected]> | 2021-09-15 12:32:52 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-09-15 13:05:54 +0200 |
| commit | fac9012f486991b03f579d9105ce5d769f2c4d30 (patch) | |
| tree | 494e03311eee3706247cc8f5518ba09d5a3f5c11 /zencore/include | |
| parent | Changed logging implementation (diff) | |
| download | zen-fac9012f486991b03f579d9105ce5d769f2c4d30.tar.xz zen-fac9012f486991b03f579d9105ce5d769f2c4d30.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 |