XVaCreateNestedList − allocate a nested variable argument list.
Synopsis
XVaNestedList XVaCreateNestedList(dummy, ...)
int dummy;
Arguments
dummyUnused argument (required by ANSI C).
...Specifies the variable length argument list.
Availability
Release 5 and later.
Description
XVaCreateNestedList() creates a nested argument list of type XVaNestedList. The first argument is an integer value which is unused but required because ANSI-C does not allow variable-length argument lists which do not have any "non-variable" arguments. This first argument is followed by a NULL-terminated variable-length argument list. Generally, the arguments will be input method or input context attribute name/value pairs. Nested lists created in this way may be used in any of the input method and input context functions which require a variable-length argument list. Also, the XNPreeditAttributes and XNStatusAttributes input context attributes are of this type XVaNestedList. XVaCreateNestedList() allocates memory and copies its arguments into a single list pointer which may be used as value for arguments requiring a list value. Any entries are copied as specified. Data passed by reference is not copied; the caller must ensure that data remains valid for the lifetime of the nested list. The list should be freed using XFree() when it is no longer needed.
See Also
XCreateIC(), XSetICValues(), XGetICValues().
Copyright O’Reilly & Assoc. —