xref: /plan9-contrib/sys/src/ape/lib/ap/stdio/vsnprintf.c (revision 25fc69938fdecc61cd09e795cbe2d2f72f1082b1)
19a747e4fSDavid du Colombier /*
29a747e4fSDavid du Colombier  * pANS stdio -- vsnprintf
39a747e4fSDavid du Colombier  */
4*25fc6993SDavid du Colombier #define _C99_SNPRINTF_EXTENSION
5*25fc6993SDavid du Colombier 
69a747e4fSDavid du Colombier #include "iolib.h"
7*25fc6993SDavid du Colombier 
8d9dc5dd1SDavid du Colombier int vsnprintf(char *buf, size_t nbuf, const char *fmt, va_list args){
99a747e4fSDavid du Colombier 	int n;
109a747e4fSDavid du Colombier 	FILE *f=_IO_sopenw();
119a747e4fSDavid du Colombier 	if(f==NULL)
129a747e4fSDavid du Colombier 		return 0;
139a747e4fSDavid du Colombier 	setvbuf(f, buf, _IOFBF, nbuf);
149a747e4fSDavid du Colombier 	n=vfprintf(f, fmt, args);
159a747e4fSDavid du Colombier 	_IO_sclose(f);
169a747e4fSDavid du Colombier 	return n;
179a747e4fSDavid du Colombier }
18