From 484e5bdd2bb59ca12aa3235e5fb2474c6966e193 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Wed, 5 Feb 2014 17:41:00 +0000 Subject: [PATCH] - Update a few places to account for va_copy(). - Create a separate 'return values' section and move some statements about return values to that section. - Note that each invocation of va_start() and va_copy() must be paired with va_end() in the same function. MFC after: 1 week --- share/man/man3/stdarg.3 | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/share/man/man3/stdarg.3 b/share/man/man3/stdarg.3 index 92a26f7c6d48..1918da2700ba 100644 --- a/share/man/man3/stdarg.3 +++ b/share/man/man3/stdarg.3 @@ -59,7 +59,7 @@ The include file .In stdarg.h declares a type .Pq Em va_list -and defines three macros for stepping +and defines four macros for stepping through a list of arguments whose number and types are not known to the called function. .Pp @@ -77,7 +77,8 @@ The macro initializes .Fa ap for subsequent use by -.Fn va_arg +.Fn va_arg , +.Fn va_copy , and .Fn va_end , and must be called first. @@ -93,10 +94,6 @@ macro, it should not be declared as a register variable, or as a function or an array type. .Pp The -.Fn va_start -macro returns no value. -.Pp -The .Fn va_arg macro expands to an expression that has the type and value of the next argument in the call. @@ -105,7 +102,9 @@ The parameter is the .Em va_list Fa ap initialized by -.Fn va_start . +.Fn va_start +or +.Fn va_copy . Each call to .Fn va_arg modifies @@ -152,18 +151,28 @@ the same number of times as called with .Fa src . .Pp The +.Fn va_end +macro cleans up any state associated with the variable argument list +.Fa ap . +.Pp +Each invocation of +.Fn va_start +or .Fn va_copy -macro returns no value. +must be paired with a corresponding invocation of +.Fn va_end +in the same function. +.Sh RETURN VALUES +The +.Fn va_arg +macro returns the value of the next argument. .Pp The +.Fn va_start , +.Fn va_copy , +and .Fn va_end -macro handles a normal return from the function whose variable argument -list was initialized by -.Fn va_start . -.Pp -The -.Fn va_end -macro returns no value. +macros return no value. .Sh EXAMPLES The function .Em foo