18911721eSCharles.Forsyth #include "lib9.h" 2*2b1e4b84SCharles.Forsyth #include "fmtdef.h" 38911721eSCharles.Forsyth 48911721eSCharles.Forsyth Rune* runevseprint(Rune * buf,Rune * e,char * fmt,va_list args)58911721eSCharles.Forsythrunevseprint(Rune *buf, Rune *e, char *fmt, va_list args) 68911721eSCharles.Forsyth { 78911721eSCharles.Forsyth Fmt f; 88911721eSCharles.Forsyth 98911721eSCharles.Forsyth if(e <= buf) 108911721eSCharles.Forsyth return nil; 118911721eSCharles.Forsyth f.runes = 1; 128911721eSCharles.Forsyth f.start = buf; 138911721eSCharles.Forsyth f.to = buf; 148911721eSCharles.Forsyth f.stop = e - 1; 158911721eSCharles.Forsyth f.flush = nil; 168911721eSCharles.Forsyth f.farg = nil; 178911721eSCharles.Forsyth f.nfmt = 0; 181f44c82aSCharles.Forsyth va_copy(f.args, args); 198911721eSCharles.Forsyth dofmt(&f, fmt); 201f44c82aSCharles.Forsyth va_end(f.args); 218911721eSCharles.Forsyth *(Rune*)f.to = '\0'; 228911721eSCharles.Forsyth return f.to; 238911721eSCharles.Forsyth } 248911721eSCharles.Forsyth 25