18ccd4a63SDavid du Colombier #include <u.h> 28ccd4a63SDavid du Colombier #include <libc.h> 3*0d601874SDavid du Colombier #include "fmtdef.h" 48ccd4a63SDavid du Colombier 58ccd4a63SDavid du Colombier char* vseprint(char * buf,char * e,char * fmt,va_list args)68ccd4a63SDavid du Colombiervseprint(char *buf, char *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 = 0; 138ccd4a63SDavid du Colombier f.start = buf; 148ccd4a63SDavid du Colombier f.to = buf; 158ccd4a63SDavid du Colombier f.stop = e - 1; 16*0d601874SDavid du Colombier f.flush = 0; 178ccd4a63SDavid du Colombier f.farg = nil; 188ccd4a63SDavid du Colombier f.nfmt = 0; 19*0d601874SDavid du Colombier VA_COPY(f.args,args); 208ccd4a63SDavid du Colombier dofmt(&f, fmt); 21*0d601874SDavid du Colombier VA_END(f.args); 228ccd4a63SDavid du Colombier *(char*)f.to = '\0'; 23*0d601874SDavid du Colombier return (char*)f.to; 248ccd4a63SDavid du Colombier } 258ccd4a63SDavid du Colombier 26