xref: /plan9/sys/src/ape/lib/ap/stdio/snprintf.c (revision 781103c4074deb8af160e8a0da2742ba6b29dc2b)
19a747e4fSDavid du Colombier /*
29a747e4fSDavid du Colombier  * pANS stdio -- sprintf
39a747e4fSDavid du Colombier  */
49a747e4fSDavid du Colombier #include "iolib.h"
5*25fc6993SDavid du Colombier 
snprintf(char * buf,size_t nbuf,const char * fmt,...)6d9dc5dd1SDavid du Colombier int snprintf(char *buf, size_t nbuf, const char *fmt, ...){
79a747e4fSDavid du Colombier 	int n;
89a747e4fSDavid du Colombier 	va_list args;
99a747e4fSDavid du Colombier 	FILE *f=_IO_sopenw();
109a747e4fSDavid du Colombier 	if(f==NULL)
119a747e4fSDavid du Colombier 		return 0;
129a747e4fSDavid du Colombier 	setvbuf(f, buf, _IOFBF, nbuf);
139a747e4fSDavid du Colombier 	va_start(args, fmt);
149a747e4fSDavid du Colombier 	n=vfprintf(f, fmt, args);
159a747e4fSDavid du Colombier 	va_end(args);
169a747e4fSDavid du Colombier 	_IO_sclose(f);
179a747e4fSDavid du Colombier 	return n;
189a747e4fSDavid du Colombier }
19