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