Invalid C code when capturing va_list typed parameter/variable
Here is the reproducer of the issue:
public int main () {
do_stuff ("do", "foo", "bar", "baz");
return 0;
}
private static void do_stuff (string action, ...) {
do_stuff2 (action, va_list ());
}
private static void do_stuff2 (string action, va_list varargs) {
Idle.add (() => {
for (unowned string? arg = varargs.arg<string?> (); arg != null ; arg = varargs.arg<string?> ()) {
print("%s", arg);
}
return Source.REMOVE;
});
}
This leads to invalid C code.
Edited by Rico Tzschichholz