18ccd4a63SDavid du Colombier #include <u.h> 28ccd4a63SDavid du Colombier #include <libc.h> 30d601874SDavid du Colombier #include "fmtdef.h" 48ccd4a63SDavid du Colombier 58ccd4a63SDavid du Colombier Rune* runevseprint(Rune * buf,Rune * e,char * fmt,va_list args)68ccd4a63SDavid du Colombierrunevseprint(Rune *buf, Rune *e, char *fmt, va_list args) 78ccd4a63SDavid du Colombier { 88ccd4a63SDavid du Colombier Fmt f; 98ccd4a63SDavid du Colombier 108ccd4a63SDavid du Colombier if(e <= buf) 118ccd4a63SDavid du Colombier return nil; 128ccd4a63SDavid du Colombier f.runes = 1; 138ccd4a63SDavid du Colombier f.start = buf; 148ccd4a63SDavid du Colombier f.to = buf; 158ccd4a63SDavid du Colombier f.stop = e - 1; 16*ec59a3ddSDavid du Colombier f.flush = 0; 178ccd4a63SDavid du Colombier f.farg = nil; 188ccd4a63SDavid du Colombier f.nfmt = 0; 190d601874SDavid du Colombier VA_COPY(f.args,args); 208ccd4a63SDavid du Colombier dofmt(&f, fmt); 210d601874SDavid du Colombier VA_END(f.args); 228ccd4a63SDavid du Colombier *(Rune*)f.to = '\0'; 230d601874SDavid du Colombier return (Rune*)f.to; 248ccd4a63SDavid du Colombier } 258ccd4a63SDavid du Colombier 26