xref: /plan9/sys/src/libstdio/snprintf.c (revision 80ee5cbfe36716af62da8896207e9763b8e3d760)
1*80ee5cbfSDavid du Colombier /*
2*80ee5cbfSDavid du Colombier  * pANS stdio -- sprintf
3*80ee5cbfSDavid du Colombier  */
4*80ee5cbfSDavid du Colombier #include "iolib.h"
snprintf(char * buf,int nbuf,const char * fmt,...)5*80ee5cbfSDavid du Colombier int snprintf(char *buf, int nbuf, const char *fmt, ...){
6*80ee5cbfSDavid du Colombier 	int n;
7*80ee5cbfSDavid du Colombier 	va_list args;
8*80ee5cbfSDavid du Colombier 	FILE *f=sopenw();
9*80ee5cbfSDavid du Colombier 	if(f==NULL)
10*80ee5cbfSDavid du Colombier 		return 0;
11*80ee5cbfSDavid du Colombier 	setvbuf(f, buf, _IOFBF, nbuf);
12*80ee5cbfSDavid du Colombier 	va_start(args, fmt);
13*80ee5cbfSDavid du Colombier 	n=vfprintf(f, fmt, args);
14*80ee5cbfSDavid du Colombier 	va_end(args);
15*80ee5cbfSDavid du Colombier 	sclose(f);
16*80ee5cbfSDavid du Colombier 	return n;
17*80ee5cbfSDavid du Colombier }
18