https://invisible-island.net/xterm/xtoolkit/
XtVaCreateArgsList - dynamically allocate a varargs list
#include <X11/Intrinsic.h> XtVarArgsList XtVaCreateArgsList(XtPointer unused, ...);
unused Must be specified as NULL. ... Specifies a variable parameter list of resource name and value pairs.
The XtVaCreateArgsList function allocates memory and copies its argu- ments into a single list pointer, which may be used with XtVaNest- edList. The end of both lists is identified by a name entry containing NULL. Any entries of type XtVaTypedArg are copied as specified without applying conversions. Data passed by reference (including Strings) are not copied, only the pointers themselves; the caller must ensure that the data remain valid for the lifetime of the created varargs list. The list should be freed using XtFree when no longer needed.
X Toolkit Intrinsics – C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.5.2 XtVaCreateArgsList(3)