aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/geteuid.c
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2023-05-20 14:55:29 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-05-20 18:14:01 +0200
commit9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf (patch)
tree458e020a274453bacf526e444594138ca67c36ef /sysdeps/mach/hurd/geteuid.c
parent36cc908ed549389713955093bbfeaa35fdaf3e2e (diff)
downloadglibc-9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf.zip
glibc-9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf.tar.gz
glibc-9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf.tar.bz2
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 <bugaevc@gmail.com> Message-Id: <20230520115531.3911877-1-bugaevc@gmail.com>
Diffstat (limited to 'sysdeps/mach/hurd/geteuid.c')
-rw-r--r--sysdeps/mach/hurd/geteuid.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/sysdeps/mach/hurd/geteuid.c b/sysdeps/mach/hurd/geteuid.c
index a50c514..3548bdd 100644
--- a/sysdeps/mach/hurd/geteuid.c
+++ b/sysdeps/mach/hurd/geteuid.c
@@ -32,21 +32,15 @@ retry:
__mutex_lock (&_hurd_id.lock);
if (err = _hurd_check_ids ())
- {
- errno = err;
- euid = -1;
- }
+ euid = __hurd_fail (err);
else if (_hurd_id.gen.nuids >= 1)
euid = _hurd_id.gen.uids[0];
else if (_hurd_id.aux.nuids >= 1)
/* We have no effective uids. Return the real uid. */
euid = _hurd_id.aux.uids[0];
else
- {
- /* We do not even have a real uid. */
- errno = EGRATUITOUS;
- euid = -1;
- }
+ /* We do not even have a real uid. */
+ euid = __hurd_fail (EGRATUITOUS);
__mutex_unlock (&_hurd_id.lock);
HURD_CRITICAL_END;