#include @[typedef] struct C.va_list {} fn C.va_start(voidptr, voidptr) fn C.va_end(voidptr) fn C.vfprintf(&C.FILE, &char, C.va_list) int fn t2(fmt voidptr, ...) { ap := C.va_list{} C.va_start(ap, fmt) C.vfprintf(C.stderr, fmt, ap) C.va_end(ap) } fn main() { a := 1 b := 2.5 t2(c'%s : %d : %.2f, %d, %c\n', c'foo', a, b, 42, `v`) }