diff options
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 |