19a747e4fSDavid du Colombier #include <u.h> 29a747e4fSDavid du Colombier #include <libc.h> 39a747e4fSDavid du Colombier #include "fmtdef.h" 49a747e4fSDavid du Colombier 59a747e4fSDavid du Colombier 69a747e4fSDavid du Colombier /* 79a747e4fSDavid du Colombier * format a string into the output buffer 8*53ff6c4dSDavid du Colombier * designed for formats which themselves call fmt 99a747e4fSDavid du Colombier */ 109a747e4fSDavid du Colombier int fmtvprint(Fmt * f,char * fmt,va_list args)119a747e4fSDavid du Colombierfmtvprint(Fmt *f, char *fmt, va_list args) 129a747e4fSDavid du Colombier { 139a747e4fSDavid du Colombier va_list va; 149a747e4fSDavid du Colombier int n; 159a747e4fSDavid du Colombier 169a747e4fSDavid du Colombier va = f->args; 179a747e4fSDavid du Colombier f->args = args; 189a747e4fSDavid du Colombier n = dofmt(f, fmt); 199a747e4fSDavid du Colombier f->args = va; 209a747e4fSDavid du Colombier if(n >= 0) 219a747e4fSDavid du Colombier return 0; 229a747e4fSDavid du Colombier return n; 239a747e4fSDavid du Colombier } 249a747e4fSDavid du Colombier 25