]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/: Use 'restrict' alongside [[gnu::access()]]
authorAlejandro Colomar <alx@kernel.org>
Sat, 6 Jan 2024 12:41:16 +0000 (13:41 +0100)
committerSerge Hallyn <serge@hallyn.com>
Mon, 15 Jan 2024 19:14:28 +0000 (13:14 -0600)
const + restrict imply read_only.

Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/commonio.h
lib/fputsx.c
lib/getlong.c
lib/getulong.c
lib/prototypes.h
lib/spawn.c

index 7cd4f2031dd3e75cb2aa0d3ee973e70ec3496fba..fedbefa3d9159644ba5eb9f43366dcdc1ef8f762 100644 (file)
@@ -65,7 +65,8 @@ struct commonio_ops {
         * understand line continuation conventions).
         */
        ATTR_ACCESS(write_only, 1, 2)
-       /*@null@*/char *(*fgets)(/*@returned@*/char *s, int n, FILE *stream);
+       /*@null@*/char *(*fgets)(/*@returned@*/char *restrict s, int n,
+                                FILE *restrict stream);
        int (*fputs) (const char *, FILE *);
 
        /*
index 0f8aeaa2633d15b3afdc25c0cb42a5895d4de017..0565310103361a3fd19c6163799cb42e8002cc1a 100644 (file)
@@ -17,7 +17,7 @@
 
 
 /*@null@*/char *
-fgetsx(/*@returned@*/char *buf, int cnt, FILE * f)
+fgetsx(/*@returned@*/char *restrict buf, int cnt, FILE *restrict f)
 {
        char *cp = buf;
        char *ep;
index 4c6e376c5925cd08e41ca97cdccb3d658310232b..4f393fe30af2c6a94af78b7d56d1044eb6926293 100644 (file)
@@ -21,7 +21,7 @@
  * It supports decimal, hexadecimal or octal representations.
  */
 int
-getlong(const char *numstr, long *result)
+getlong(const char *restrict numstr, long *restrict result)
 {
        char  *endptr;
        long  val;
index 690525551dfc7d74d648628e274f43f92dbc53a8..2e730e6e8f3bd00b701e3766f628b940c42d8738 100644 (file)
@@ -21,7 +21,7 @@
  * It supports decimal, hexadecimal or octal representations.
  */
 int
-getulong(const char *numstr, unsigned long *result)
+getulong(const char *restrict numstr, unsigned long *restrict result)
 {
        char           *endptr;
        unsigned long  val;
index 4ba943645cd480cc832aa54cf6193ae5df7ff80c..0f709bdd6f0b717c97a2cea249b56e2e9536f4d1 100644 (file)
@@ -154,7 +154,7 @@ extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *gr
 
 /* getlong.c */
 ATTR_ACCESS(write_only, 2)
-extern int getlong(const char *numstr, long *result);
+extern int getlong(const char *restrict numstr, long *restrict result);
 
 /* get_pid.c */
 extern int get_pid (const char *pidstr, pid_t *pid);
@@ -174,11 +174,11 @@ extern int get_uid (const char *uidstr, uid_t *uid);
 
 /* getulong.c */
 ATTR_ACCESS(write_only, 2)
-extern int getulong(const char *numstr, unsigned long *result);
+extern int getulong(const char *restrict numstr, unsigned long *restrict result);
 
 /* fputsx.c */
 ATTR_ACCESS(write_only, 1, 2)
-extern /*@null@*/char *fgetsx(/*@returned@*/char *, int, FILE *);
+extern /*@null@*/char *fgetsx(/*@returned@*/char *restrict, int, FILE *restrict);
 extern int fputsx (const char *, FILE *);
 
 /* groupio.c */
@@ -438,7 +438,7 @@ extern int shell (const char *file, /*@null@*/const char *arg, char *const envp[
 /* spawn.c */
 ATTR_ACCESS(write_only, 4)
 extern int run_command(const char *cmd, const char *argv[],
-                       /*@null@*/const char *envp[], int *status);
+                       /*@null@*/const char *envp[], int *restrict status);
 
 /* strtoday.c */
 extern long strtoday (const char *);
index 2f930ca0a84aa7732b4bc6134897b6614c8b51ca..57a412199c081c6fcb6c8586948f4cc8d17a88c0 100644 (file)
@@ -19,7 +19,7 @@
 
 int
 run_command(const char *cmd, const char *argv[],
-            /*@null@*/const char *envp[], int *status)
+            /*@null@*/const char *envp[], int *restrict status)
 {
        pid_t pid, wpid;