aboutsummaryrefslogtreecommitdiffstats
path: root/man3/stdarg.3
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2017-08-18 21:37:55 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2017-08-19 13:47:26 +0200
commite646a1bad9fc82df38d58dddcf09ce537a80f041 (patch)
treeb64181694bc12dbc18764bd44dd1f98c5305d7cd /man3/stdarg.3
parentb76974c1ec51463d46033bd653a806ddca8c6eb1 (diff)
downloadman-pages-e646a1bad9fc82df38d58dddcf09ce537a80f041.tar.gz
ioctl_console.2, ioctl_getfsmap.2, ioctl_iflags.2, ioctl_list.2, ioctl_ns.2, kcmp.2, kexec_load.2, keyctl.2, link.2, mmap.2, modify_ldt.2, msgctl.2, poll.2, query_module.2, quotactl.2, recv.2, recvmmsg.2, sched_setscheduler.2, seccomp.2, select.2, semctl.2, semop.2, send.2, set_thread_area.2, setns.2, shmctl.2, shmget.2, sigaction.2, sysinfo.2, timer_create.2, timerfd_create.2, uname.2, unshare.2, userfaultfd.2, ustat.2, utimensat.2, vmsplice.2, wait.2, adjtime.3, backtrace.3, bswap.3, btree.3, clock_getcpuclockid.3, confstr.3, dbopen.3, dl_iterate_phdr.3, dlinfo.3, duplocale.3, encrypt.3, end.3, endian.3, err.3, errno.3, fmemopen.3, fopencookie.3, frexp.3, fts.3, ftw.3, getaddrinfo.3, getaddrinfo_a.3, getcontext.3, getgrouplist.3, getifaddrs.3, getipnodebyname.3, getnameinfo.3, getopt.3, getprotoent_r.3, getpwent_r.3, getrpcent.3, getservent_r.3, getttyent.3, getumask.3, glob.3, gnu_get_libc_version.3, hash.3, hsearch.3, inet.3, inet_pton.3, insque.3, isalpha.3, makecontext.3, mallopt.3, mbstowcs.3, mcheck.3, memchr.3, mq_getattr.3, mq_open.3, mtrace.3, newlocale.3, ntp_gettime.3, offsetof.3, posix_openpt.3, printf.3, pthread_setname_np.3, pthread_setschedparam.3, rpc.3, scanf.3, sched_getcpu.3, sem_wait.3, setaliasent.3, sigqueue.3, sigvec.3, stdarg.3, strcat.3, strcpy.3, strftime.3, strtol.3, toupper.3, ttyslot.3, fuse.4, loop.4, st.4, elf.5, cgroup_namespaces.7, cgroups.7, feature_test_macros.7, inode.7, inotify.7, keyrings.7, man-pages.7, math_error.7, mount_namespaces.7, mq_overview.7, pthreads.7, sched.7, session-keyring.7, udplite.7, unix.7, vdso.7: Use consistent markup for code snippets
The preferred form is .PP/.IP .in +4n .EX <code> .EE .in .PP/.IP Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Diffstat (limited to 'man3/stdarg.3')
-rw-r--r--man3/stdarg.332
1 files changed, 16 insertions, 16 deletions
diff --git a/man3/stdarg.3 b/man3/stdarg.3
index dee35cb280..f95621e63f 100644
--- a/man3/stdarg.3
+++ b/man3/stdarg.3
@@ -176,23 +176,23 @@ An obvious implementation would have a
be a pointer to the stack frame of the variadic function.
In such a setup (by far the most common) there seems
nothing against an assignment
+.PP
.in +4n
-.nf
-
+.EX
va_list aq = ap;
-
-.fi
+.EE
.in
+.PP
Unfortunately, there are also systems that make it an
array of pointers (of length 1), and there one needs
+.PP
.in +4n
-.nf
-
+.EX
va_list aq;
*aq = *ap;
-
-.fi
+.EE
.in
+.PP
Finally, on systems where arguments are passed in registers,
it may be necessary for
.BR va_start ()
@@ -206,16 +206,16 @@ can free the allocated memory again.
To accommodate this situation, C99 adds a macro
.BR va_copy (),
so that the above assignment can be replaced by
+.PP
.in +4n
-.nf
-
+.EX
va_list aq;
va_copy(aq, ap);
\&...
va_end(aq);
-
-.fi
+.EE
.in
+.PP
Each invocation of
.BR va_copy ()
must be matched by a corresponding invocation of
@@ -261,9 +261,9 @@ A backward-compatible version can be found in the include file
.IR <varargs.h> .
.PP
The historic setup is:
+.PP
.in +4n
-.nf
-
+.EX
#include <varargs.h>
void
@@ -280,9 +280,9 @@ foo(va_alist)
}
va_end(ap);
}
-
-.fi
+.EE
.in
+.PP
On some systems,
.I va_end
contains a closing \(aq}\(aq matching a \(aq{\(aq in