Thread (16 messages) 16 messages, 2 authors, 2021-03-04
STALE1966d

[PATCH 06/14] getgrnam.3: SYNOPSIS: Use 'restrict' in prototypes

From: Alejandro Colomar <hidden>
Date: 2021-02-28 00:51:00
Subsystem: the rest · Maintainer: Linus Torvalds

POSIX does NOT specify these functions to use 'restrict'.
However, glibc uses 'restrict' in getgrnam_r(), getgrgid_r().
Users might be surprised by this!  Let's use it here too!

.../glibc$ grep_glibc_prototype getgrnam_r
grp/grp.h:148:
extern int getgrnam_r (const char *__restrict __name,
		       struct group *__restrict __resultbuf,
		       char *__restrict __buffer, size_t __buflen,
		       struct group **__restrict __result);
.../glibc$ grep_glibc_prototype getgrgid_r
grp/grp.h:140:
extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
		       char *__restrict __buffer, size_t __buflen,
		       struct group **__restrict __result);
.../glibc$

Cc: glibc <redacted>
Cc: Ulrich Drepper <redacted>
Signed-off-by: Alejandro Colomar <redacted>
---
 man3/getgrnam.3 | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/man3/getgrnam.3 b/man3/getgrnam.3
index 87f61c260..1b13208ba 100644
--- a/man3/getgrnam.3
+++ b/man3/getgrnam.3
@@ -41,10 +41,13 @@ getgrnam, getgrnam_r, getgrgid, getgrgid_r \- get group file entry
 .BI "struct group *getgrnam(const char *" name );
 .BI "struct group *getgrgid(gid_t " gid );
 .PP
-.BI "int getgrnam_r(const char *" name ", struct group *" grp ,
-.BI "          char *" buf ", size_t " buflen ", struct group **" result );
-.BI "int getgrgid_r(gid_t " gid ", struct group *" grp ,
-.BI "          char *" buf ", size_t " buflen ", struct group **" result );
+.BI "int getgrnam_r(const char *restrict " name \
+", struct group *restrict " grp ,
+.BI "               char *restrict " buf ", size_t " buflen ,
+.BI "               struct group **restrict " result );
+.BI "int getgrgid_r(gid_t " gid ", struct group *restrict " grp ,
+.BI "               char *restrict " buf ", size_t " buflen ,
+.BI "               struct group **restrict " result );
 .fi
 .PP
 .RS -4
-- 
2.30.1.721.g45526154a5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help