v2 / vlib / v / gen / c / testdata / c_varargs.vv
25 lines · 19 sloc · 390 bytes · 37dbed96ed00883c1949f202a5fb3f3ec8bb6e3d
Raw
1#include <stdarg.h>
2
3@[typedef]
4struct C.va_list {}
5
6fn C.va_start(voidptr, voidptr)
7fn C.va_end(voidptr)
8
9fn C.vfprintf(&C.FILE, &char, C.va_list) int
10
11fn C.printf(&char, ...)
12
13fn t2(fmt voidptr, ...) {
14 ap := C.va_list{}
15 C.va_start(ap, fmt)
16 C.vfprintf(C.stdout, fmt, ap)
17 C.va_end(ap)
18}
19
20fn main() {
21 a := 1
22 b := 2.5
23 t2(c'%s : %d : %.2f\n', c'foo', a, b)
24 C.printf(c'%s\n', c'foo')
25}
26