Add vsnprintf() to libsa. Alpha-sort the printf prototypes in stand.h.

I'm not sure why the v*printf() functions in libsa return void instead of
int, but this maintains that convention for the new function.
This commit is contained in:
Ian Lepore 2018-06-05 14:47:13 +00:00
parent ea16e3e1e7
commit 1851d70d31
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=334656
2 changed files with 16 additions and 1 deletions

View File

@ -140,6 +140,20 @@ snprintf(char *buf, size_t size, const char *cfmt, ...)
return retval;
}
void
vsnprintf(char *buf, size_t size, const char *cfmt, va_list ap)
{
struct print_buf arg;
arg.buf = buf;
arg.size = size;
kvprintf(cfmt, &snprint_func, &arg, 10, ap);
if (arg.size >= 1)
*(arg.buf)++ = 0;
}
void
vsprintf(char *buf, const char *cfmt, va_list ap)
{

View File

@ -268,10 +268,11 @@ extern void *reallocf(void *ptr, size_t size);
extern void mallocstats(void);
extern int printf(const char *fmt, ...) __printflike(1, 2);
extern void vprintf(const char *fmt, __va_list);
extern int sprintf(char *buf, const char *cfmt, ...) __printflike(2, 3);
extern int snprintf(char *buf, size_t size, const char *cfmt, ...) __printflike(3, 4);
extern void vprintf(const char *fmt, __va_list);
extern void vsprintf(char *buf, const char *cfmt, __va_list);
extern void vsnprintf(char *buf, size_t size, const char *cfmt, __va_list);
extern void twiddle(u_int callerdiv);
extern void twiddle_divisor(u_int globaldiv);