about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/fcntl.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/fcntl.c
parent36cc908ed549389713955093bbfeaa35fdaf3e2e (diff)
downloadglibc-9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf.tar.gz
glibc-9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf.tar.xz
glibc-9ec31e57278ffc4e680ef03e75ce5b6b02e5edcf.zip
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/fcntl.c')
-rw-r--r--sysdeps/mach/hurd/fcntl.c23
1 files changed, 7 insertions, 16 deletions
diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c
index a89d6d39df..0b9a64bc57 100644
--- a/sysdeps/mach/hurd/fcntl.c
+++ b/sysdeps/mach/hurd/fcntl.c
@@ -48,8 +48,7 @@ __libc_fcntl (int fd, int cmd, ...)
       error_t err;
 
     default:			/* Bad command.  */
-      errno = EINVAL;
-      result = -1;
+      result = __hurd_fail (EINVAL);
       break;
 
       /* First the descriptor-based commands, which do no RPCs.  */
@@ -149,8 +148,7 @@ __libc_fcntl (int fd, int cmd, ...)
 	    cmd = F_SETLKW64;
 	    break;
 	  default:
-	    errno = EINVAL;
-	    return -1;
+	    return __hurd_fail (EINVAL);
 	  }
 
 	struct flock64 fl64 = {
@@ -183,8 +181,7 @@ __libc_fcntl (int fd, int cmd, ...)
 	    switch (cmd)
 	      {
 	      case F_GETLK64:
-		errno = ENOSYS;
-		return -1;
+		return __hurd_fail (ENOSYS);
 	      case F_SETLKW64:
 		wait = 1;
 		/* FALLTHROUGH */
@@ -192,8 +189,7 @@ __libc_fcntl (int fd, int cmd, ...)
 		return __f_setlk (fd, fl->l_type, fl->l_whence,
 				  fl->l_start, fl->l_len, wait);
 	      default:
-		errno = EINVAL;
-		return -1;
+		return __hurd_fail (EINVAL);
 	      }
 	  }
 	else if (cmd == F_GETLK64)
@@ -208,10 +204,7 @@ __libc_fcntl (int fd, int cmd, ...)
 		 && fl->l_start != fl64.l_start)
 	     || (sizeof fl->l_len != sizeof fl64.l_len
 		 && fl->l_len != fl64.l_len))
-	      {
-		errno = EOVERFLOW;
-		return -1;
-	      }
+	      return __hurd_fail (EOVERFLOW);
 	  }
 
 	result = err ? __hurd_dfail (fd, err) : 0;
@@ -246,8 +239,7 @@ __libc_fcntl (int fd, int cmd, ...)
 	    switch (cmd)
 	      {
 	      case F_GETLK64:
-		errno = ENOSYS;
-		return -1;
+		return __hurd_fail (ENOSYS);
 	      case F_SETLKW64:
 		wait = 1;
 		/* FALLTHROUGH */
@@ -255,8 +247,7 @@ __libc_fcntl (int fd, int cmd, ...)
 		return __f_setlk (fd, fl->l_type, fl->l_whence,
 				  fl->l_start, fl->l_len, wait);
 	      default:
-		errno = EINVAL;
-		return -1;
+		return __hurd_fail (EINVAL);
 	      }
 	  }