commit 3e8555fdc62905e1b696d1d96f981492d7ccbd13
parent 3639f1bbb4547f14ec792b311f117aef27dcc7f9
Author: sin <sin@2f30.org>
Date: Fri, 14 Nov 2014 13:05:17 +0000
Add a simple dprintf() implementation for systems that do not have it
Diffstat:
1 file changed, 17 insertions(+), 0 deletions(-)
diff --git a/noice.c b/noice.c
@@ -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)
{