scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

 1#include <stdarg.h>
 2#include <stdio.h>
 3
 4#undef vsnprintf
 5
 6int
 7vsnprintf(char *restrict buf, size_t siz, const char *restrict fmt, va_list ap)
 8{
 9	FILE f;
10	int r;
11	unsigned char *s = (unsigned char *) buf;
12
13	f.flags = _IORW | _IOSTRG;
14	f.len = siz;
15	f.buf = s;
16	f.wp = s;
17	f.rp = s + siz;
18
19	r = vfprintf(&f, fmt, ap);
20	if (s) {
21		if (f.wp == f.rp)
22			--f.wp;
23		if (siz != 0)
24			*f.wp = '\0';
25	}
26
27	return r;
28}