summaryrefslogtreecommitdiffstats
path: root/share/man/man3/stdarg.3
diff options
context:
space:
mode:
authormike <mike@FreeBSD.org>2002-09-18 07:33:16 +0000
committermike <mike@FreeBSD.org>2002-09-18 07:33:16 +0000
commite35c51c74c9136c275aff6e68216801a7262f546 (patch)
treed9550a771c43d65b540d4e46a2dadaefba483323 /share/man/man3/stdarg.3
parent397f4349cf97eb654d15023a7c4b6b06fd206725 (diff)
downloadFreeBSD-src-e35c51c74c9136c275aff6e68216801a7262f546.zip
FreeBSD-src-e35c51c74c9136c275aff6e68216801a7262f546.tar.gz
Implement C99's va_copy() macro.
Diffstat (limited to 'share/man/man3/stdarg.3')
-rw-r--r--share/man/man3/stdarg.325
1 files changed, 24 insertions, 1 deletions
diff --git a/share/man/man3/stdarg.3 b/share/man/man3/stdarg.3
index 354fc0a..e3f28e8 100644
--- a/share/man/man3/stdarg.3
+++ b/share/man/man3/stdarg.3
@@ -36,7 +36,7 @@
.\" @(#)stdarg.3 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd June 5, 1993
+.Dd September 18, 2002
.Dt STDARG 3
.Os
.Sh NAME
@@ -49,6 +49,8 @@
.Ft type
.Fn va_arg "va_list ap" type
.Ft void
+.Fn va_copy "va_list dest" "va_list src"
+.Ft void
.Fn va_end "va_list ap"
.Sh DESCRIPTION
A function may be called with a varying number of arguments of varying
@@ -132,6 +134,27 @@ Successive invocations return the values of the remaining
arguments.
.Pp
The
+.Fn va_copy
+macro copies a variable argument list, previously initialized by
+.Fn va_start ,
+from
+.Va src
+to
+.Va dest .
+The state is preserved such that it is equivalent to calling
+.Fn va_start
+with the same second argument used with
+.Va src ,
+and calling
+.Fn va_arg
+the same number of times as called with
+.Va src .
+.Pp
+The
+.Fn va_copy
+macro returns no value.
+.Pp
+The
.Fn va_end
macro handles a normal return from the function whose variable argument
list was initialized by
OpenPOWER on IntegriCloud