From df1662aa10f92759da0c8f51395dda478aa3c919 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 30 May 2026 10:05:28 +0100 Subject: [PATCH] libc: fix handling of __set_errno(SUCCESS) --- lib/libc/core/errno/errno.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/core/errno/errno.c b/lib/libc/core/errno/errno.c index 304bef5..51a54fb 100644 --- a/lib/libc/core/errno/errno.c +++ b/lib/libc/core/errno/errno.c @@ -11,7 +11,7 @@ int __attribute__((weak)) * __errno_location(void) #if defined(BUILD_STATIC) int __set_errno(int err) { - return -err; + return err == 0 ? 0 : -err; } #endif @@ -20,7 +20,7 @@ int __set_errno(int err) { /* TODO */ *__errno_location() = err; - return -1; + return err == 0 ? 0 : -1; } #endif