1 --- stdarg.3.orig 2008-07-30 02:46:51.000000000 -0700
2 +++ stdarg.3 2008-07-30 04:06:35.000000000 -0700
10 +macro must be called first, and it initializes
12 +which can be passed to
15 +for each argument to be processed.
18 +signals that there are no further arguments, and causes
21 +Note that each call to
23 +must be matched by a call to
25 -and must be called first.
26 +from within the same function.
31 function or an array type.
35 -macro returns no value.
39 macro expands to an expression that has the type and value of the next
45 -macro copies a variable argument list, previously initialized by
46 +macro copies the state of the variable argument list,
48 +previously initialized by
54 -The state is preserved such that it is equivalent to calling
55 +to the variable argument list,
57 +which must not have been previously initialized by
59 +without an intervening call to
61 +The state preserved in
63 +is equivalent to calling
65 -with the same second argument used with
70 -the same number of times as called with
73 +in the same way as was used on
78 -macro returns no value.
81 +The copied variable argument list can subsequently be passed to
83 +and must finally be passed to
85 -macro handles a normal return from the function whose variable argument
86 -list was initialized by
88 +when through with it.
92 -macro returns no value.
93 +After a variable argument list is invalidated by
95 +it can be reinitialized with
97 +or made a copy of another variable argument list with
102 @@ -172,11 +180,12 @@
103 .Bd -literal -offset indent
104 void foo(char *fmt, ...)
115 case 's': /* string */
121 + /* use ap2 to iterate over the arguments again */