Blob


1 /* Copyright (c) 2002-2006 Lucent Technologies; see LICENSE */
2 #include <stdarg.h>
3 #include "plan9.h"
4 #include "fmt.h"
5 #include "fmtdef.h"
7 char*
8 vseprint(char *buf, char *e, char *fmt, va_list args)
9 {
10 Fmt f;
12 if(e <= buf)
13 return nil;
14 f.runes = 0;
15 f.start = buf;
16 f.to = buf;
17 f.stop = e - 1;
18 f.flush = 0;
19 f.farg = nil;
20 f.nfmt = 0;
21 VA_COPY(f.args,args);
22 fmtlocaleinit(&f, nil, nil, nil);
23 dofmt(&f, fmt);
24 VA_END(f.args);
25 *(char*)f.to = '\0';
26 return (char*)f.to;
27 }