Add a simple dprintf() implementation for systems that do not have it

This commit is contained in:
sin 2014-11-14 13:05:17 +00:00
parent 3639f1bbb4
commit 3e8555fdc6
1 changed files with 17 additions and 0 deletions

17
noice.c
View File

@ -10,6 +10,7 @@
#include <limits.h>
#include <locale.h>
#include <regex.h>
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
@ -90,6 +91,22 @@ void printwarn(void);
void printerr(int ret, char *prefix);
char *makepath(char *dir, char *name);
#undef dprintf
int
dprintf(int fd, const char *fmt, ...)
{
char buf[BUFSIZ];
int r;
va_list ap;
va_start(ap, fmt);
r = vsnprintf(buf, sizeof(buf), fmt, ap);
if (r > 0)
write(fd, buf, r);
va_end(ap);
return r;
}
void *
xmalloc(size_t size)
{