diff --git a/core/os/os_darwin.odin b/core/os/os_darwin.odin index 530e74575..4c32323ff 100644 --- a/core/os/os_darwin.odin +++ b/core/os/os_darwin.odin @@ -333,7 +333,7 @@ foreign dl { @(link_name="dlerror") _unix_dlerror :: proc() -> cstring --- } -get_last_error :: proc() -> int { +get_last_error :: proc "contextless" () -> int { return __error()^ } diff --git a/core/os/os_freebsd.odin b/core/os/os_freebsd.odin index b0978ad6e..2a0381a5d 100644 --- a/core/os/os_freebsd.odin +++ b/core/os/os_freebsd.odin @@ -303,7 +303,7 @@ is_path_separator :: proc(r: rune) -> bool { return r == '/' } -get_last_error :: proc() -> int { +get_last_error :: proc "contextless" () -> int { return __errno_location()^ } diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index e299734ee..ac40b8cde 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -441,7 +441,7 @@ _get_errno :: proc(res: int) -> Errno { } // get errno from libc -get_last_error :: proc() -> int { +get_last_error :: proc "contextless" () -> int { return __errno_location()^ } diff --git a/core/os/os_openbsd.odin b/core/os/os_openbsd.odin index 2fb8e4065..0375107ca 100644 --- a/core/os/os_openbsd.odin +++ b/core/os/os_openbsd.odin @@ -294,7 +294,7 @@ is_path_separator :: proc(r: rune) -> bool { return r == '/' } -get_last_error :: proc() -> int { +get_last_error :: proc "contextless" () -> int { return __errno()^ }