v2 / vlib / v / fmt / tests / c_varargs_keep.vv
23 lines · 18 sloc · 369 bytes · 66ea82605e58207ee0d5e104e1537a1880172878
Raw
1@[typedef]
2struct C.va_list {}
3
4fn C.va_start(voidptr, voidptr)
5fn C.va_end(voidptr)
6
7fn C.vfprintf(&C.FILE, &char, C.va_list) int
8
9fn C.printf(&char, ...)
10
11fn t2(fmt voidptr, ...) {
12 ap := C.va_list{}
13 C.va_start(ap, fmt)
14 C.vfprintf(C.stderr, fmt, ap)
15 C.va_end(ap)
16}
17
18fn main() {
19 a := 1
20 b := 2.5
21 t2(c'%s : %d : %.2f\n', c'foo', a, b)
22 C.printf(c'%s\n', c'foo')
23}
24