diff --git a/WINGs/proplist.c b/WINGs/proplist.c new file mode 100644 index 00000000..4a574cd6 --- /dev/null +++ b/WINGs/proplist.c @@ -0,0 +1,30 @@ +#include + +#include "WUtil.h" + +/* + * This should be written in Rust whenever va_args support improves. + */ +WMPropList *WMCreatePLArray(WMPropList * elem, ...) +{ + WMPropList *plist, *nelem; + va_list ap; + + plist = WMCreateEmptyPLArray(); + + if (!elem) + return plist; + + WMAddToPLArray(plist, elem); + + va_start(ap, elem); + + while (1) { + nelem = va_arg(ap, WMPropList *); + if (!nelem) { + va_end(ap); + return plist; + } + WMAddToPLArray(plist, elem); + } +}