From 9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Sat, 20 May 2023 14:55:29 +0300 Subject: hurd: Use __hurd_fail () instead of assigning errno The __hurd_fail () inline function is the dedicated, idiomatic way of reporting errors in the Hurd part of glibc. Not only is it more concise than '{ errno = err; return -1; }', it is since commit 6639cc10029e24e06b34e169712b21c31b8cf213 "hurd: Mark error functions as __COLD" marked with the cold attribute, telling the compiler that this codepath is unlikely to be executed. In one case, use __hurd_dfail () over the plain __hurd_fail (). Signed-off-by: Sergey Bugaev Message-Id: <20230520115531.3911877-1-bugaevc@gmail.com> --- sysdeps/mach/hurd/getentropy.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'sysdeps/mach/hurd/getentropy.c') diff --git a/sysdeps/mach/hurd/getentropy.c b/sysdeps/mach/hurd/getentropy.c index adbbb78ca0..118f8984e7 100644 --- a/sysdeps/mach/hurd/getentropy.c +++ b/sysdeps/mach/hurd/getentropy.c @@ -20,6 +20,7 @@ #include #include #include +#include /* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on success and -1 on failure. */ @@ -29,10 +30,7 @@ getentropy (void *buffer, size_t length) /* The interface is documented to return EIO for buffer lengths longer than 256 bytes. */ if (length > 256) - { - __set_errno (EIO); - return -1; - } + return __hurd_fail (EIO); /* Try to fill the buffer completely. Even with the 256 byte limit above, we might still receive an EINTR error (when blocking @@ -51,12 +49,9 @@ getentropy (void *buffer, size_t length) return -1; } if (bytes == 0) - { - /* No more bytes available. This should not happen under - normal circumstances. */ - __set_errno (EIO); - return -1; - } + /* No more bytes available. This should not happen under + normal circumstances. */ + return __hurd_fail (EIO); /* Try again in case of a short read. */ buffer += bytes; } -- cgit 1.4.1