+can tell how many arguments are supposed to be there by the format.
+.PP
+The macros
+.I va_start
+and
+.I va_end
+may be arbitrarily complex;
+for example,
+.I va_start
+might contain an opening brace,
+which is closed by a matching brace in
+.IR va_end .
+Thus, they should only be used where they could
+be placed within a single complex statement.