DragonFly On-Line Manual Pages
adime_va_list(3) Adime API Reference adime_va_list(3)
NAME
adime_va_list, adime_va_start, adime_va_arg, adime_va_end
SYNOPSIS
#include <adime.h>
typedef adime_va_list;
void adime_va_start(adime_va_list ap, first_arg);
TYPE adime_va_arg(adime_va_list ap, TYPE);
void adime_va_end(adime_va_list ap);
DESCRIPTION
Because of weirdnesses in the C language, some things that Adime does
with va_lists would not be portable if it used a va_list directly.
Instead you always have to use this replacement API, which works
exactly like the standard API for va_lists, but is more portable. Also,
if you pass an `adime_va_list' to another function, which reads an
argument with `adime_va_arg()', then the `adime_va_list' will have
advanced to the same position in the calling function as in the called
function. In particular, after calling `adime_vdialogf()', the
`adime_va_list' will have advanced to after the last argument used by
Adime.
The following example shows how `adime_dialogf()' is implemented in
terms of `adime_vdialogf()':
int adime_dialogf(char *title, int x, int y, int edit_w,
char *format, ...)
{
int ret;
va_list ap;
va_start(ap, format);
ret = adime_vdialogf(title, x, y, edit_w, format, ap);
va_end(ap);
return ret;
}
See documentation for the standard `va_list', `va_start()', `va_arg()'
and `va_end()' for more information.
SEE ALSO
adime_vdialogf(3), adime_dialogf(3), adime_lowlevel_vdialogf(3)
Adime version 2.2.1 adime_va_list(3)