diff options
author | Alfonso Gregory <gfunni234@gmail.com> | 2021-06-25 15:35:14 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2021-06-29 23:38:45 +0000 |
commit | 849dcdb1c0c50b13f97d67c912f0edac82688281 (patch) | |
tree | 8dd1dd28c2c0e67556ed244515ea972ad11f8d72 | |
parent | ed1a156b038dee0e7a02c2935186ad5d8f4c36c1 (diff) | |
download | src-849dcdb1c0c50b13f97d67c912f0edac82688281.tar.gz src-849dcdb1c0c50b13f97d67c912f0edac82688281.zip |
Change strmode argument type to mode_t
Finally, we have the correct function definition for strmode. NetBSD/OpenBSD
did this many years ago. This code is weird sign extension safe.
Reviewed by: imp@
Pull Request: https://github.com/freebsd/freebsd-src/pull/493
-rw-r--r-- | include/string.h | 8 | ||||
-rw-r--r-- | lib/libc/string/strmode.c | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/include/string.h b/include/string.h index 774cf5fe9756..540258cfcf4f 100644 --- a/include/string.h +++ b/include/string.h @@ -96,7 +96,13 @@ size_t strlcpy(char * __restrict, const char * __restrict, size_t); #endif size_t strlen(const char *) __pure; #if __BSD_VISIBLE -void strmode(int, char *); + +#ifndef _MODE_T_DECLARED +typedef __mode_t mode_t; +#define _MODE_T_DECLARED +#endif + +void strmode(mode_t, char *); #endif char *strncat(char * __restrict, const char * __restrict, size_t); int strncmp(const char *, const char *, size_t) __pure; diff --git a/lib/libc/string/strmode.c b/lib/libc/string/strmode.c index 50016be21ea1..d601bd0430e1 100644 --- a/lib/libc/string/strmode.c +++ b/lib/libc/string/strmode.c @@ -40,7 +40,7 @@ __FBSDID("$FreeBSD$"); #include <string.h> void -strmode(/* mode_t */ int mode, char *p) +strmode(mode_t mode, char *p) { /* print type */ switch (mode & S_IFMT) { |