From f8418db73e3d0515fb582fa9a093019c08434267 Mon Sep 17 00:00:00 2001 From: Robert Drehmel Date: Thu, 15 Aug 2002 10:28:52 +0000 Subject: [PATCH] - For compliance with IEEE Std 1003.1-2001, add the 'restrict' qualifier to function prototypes and definitions where appropriate using the '__restrict' macro. - Update the manual page. --- include/stdio.h | 15 +++++++++------ lib/libc/stdio/printf.3 | 8 ++++---- lib/libc/stdio/vfprintf.c | 3 ++- lib/libc/stdio/vprintf.c | 5 ++--- lib/libc/stdio/vsnprintf.c | 7 ++----- lib/libc/stdio/vsprintf.c | 5 +---- 6 files changed, 20 insertions(+), 23 deletions(-) diff --git a/include/stdio.h b/include/stdio.h index 19f6208b3181..d64e6903a524 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -250,14 +250,17 @@ int sscanf(const char *, const char *, ...); FILE *tmpfile(void); char *tmpnam(char *); int ungetc(int, FILE *); -int vfprintf(FILE *, const char *, _BSD_VA_LIST_); -int vprintf(const char *, _BSD_VA_LIST_); -int vsprintf(char *, const char *, _BSD_VA_LIST_); +int vfprintf(FILE *__restrict, const char *__restrict, + _BSD_VA_LIST_); +int vprintf(const char *__restrict, _BSD_VA_LIST_); +int vsprintf(char *__restrict, const char *__restrict, + _BSD_VA_LIST_); #if __ISO_C_VISIBLE >= 1999 -int snprintf(char *__restrict, size_t, const char *__restrict, ...) __printflike(3, 4); -int vsnprintf(char *, size_t, const char *, _BSD_VA_LIST_) - __printflike(3, 0); +int snprintf(char *__restrict, size_t, const char *__restrict, + ...) __printflike(3, 4); +int vsnprintf(char *__restrict, size_t, const char *__restrict, + _BSD_VA_LIST_) __printflike(3, 0); #endif /* diff --git a/lib/libc/stdio/printf.3 b/lib/libc/stdio/printf.3 index 9a285a49caee..2ff7e2d1088c 100644 --- a/lib/libc/stdio/printf.3 +++ b/lib/libc/stdio/printf.3 @@ -59,13 +59,13 @@ .Fn asprintf "char **ret" "const char *format" ... .In stdarg.h .Ft int -.Fn vprintf "const char *format" "va_list ap" +.Fn vprintf "const char *restrict format" "va_list ap" .Ft int -.Fn vfprintf "FILE *stream" "const char *format" "va_list ap" +.Fn vfprintf "FILE *restrict stream" "const char *restrict format" "va_list ap" .Ft int -.Fn vsprintf "char *str" "const char *format" "va_list ap" +.Fn vsprintf "char *restrict str" "const char *restrict format" "va_list ap" .Ft int -.Fn vsnprintf "char *str" "size_t size" "const char *format" "va_list ap" +.Fn vsnprintf "char *restrict str" "size_t size" "const char *restrict format" "va_list ap" .Ft int .Fn vasprintf "char **ret" "const char *format" "va_list ap" .Sh DESCRIPTION diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index b158bc09323e..91bbe00dfbb1 100644 --- a/lib/libc/stdio/vfprintf.c +++ b/lib/libc/stdio/vfprintf.c @@ -332,7 +332,8 @@ __ujtoa(uintmax_t val, char *endp, int base, int octzero, char *xdigs, * MT-safe version */ int -vfprintf(FILE *fp, const char *fmt0, va_list ap) +vfprintf(FILE *__restrict fp, const char *__restrict fmt0, va_list ap) + { int ret; diff --git a/lib/libc/stdio/vprintf.c b/lib/libc/stdio/vprintf.c index ad38b45a04de..1f293d6d3cbe 100644 --- a/lib/libc/stdio/vprintf.c +++ b/lib/libc/stdio/vprintf.c @@ -43,9 +43,8 @@ __FBSDID("$FreeBSD$"); #include int -vprintf(fmt, ap) - char const *fmt; - _BSD_VA_LIST_ ap; +vprintf(const char *__restrict fmt, _BSD_VA_LIST_ ap) { + return (vfprintf(stdout, fmt, ap)); } diff --git a/lib/libc/stdio/vsnprintf.c b/lib/libc/stdio/vsnprintf.c index 18b5e5c0537b..eae9adc58c83 100644 --- a/lib/libc/stdio/vsnprintf.c +++ b/lib/libc/stdio/vsnprintf.c @@ -45,11 +45,8 @@ __FBSDID("$FreeBSD$"); #include "local.h" int -vsnprintf(str, n, fmt, ap) - char *str; - size_t n; - const char *fmt; - _BSD_VA_LIST_ ap; +vsnprintf(char *__restrict str, size_t n, const char *__restrict fmt, + _BSD_VA_LIST_ ap) { size_t on; int ret; diff --git a/lib/libc/stdio/vsprintf.c b/lib/libc/stdio/vsprintf.c index 3f92fcdb0227..b66b7c86db88 100644 --- a/lib/libc/stdio/vsprintf.c +++ b/lib/libc/stdio/vsprintf.c @@ -45,10 +45,7 @@ __FBSDID("$FreeBSD$"); #include "local.h" int -vsprintf(str, fmt, ap) - char *str; - const char *fmt; - _BSD_VA_LIST_ ap; +vsprintf(char *__restrict str, const char *__restrict fmt, _BSD_VA_LIST_ ap) { int ret; FILE f;