]> Sergey Matveev's repositories - nnn.git/commitdiff
Add a simple dprintf() implementation for systems that do not have it
authorsin <sin@2f30.org>
Fri, 14 Nov 2014 13:05:17 +0000 (13:05 +0000)
committersin <sin@2f30.org>
Fri, 14 Nov 2014 13:05:17 +0000 (13:05 +0000)
noice.c

diff --git a/noice.c b/noice.c
index d0b009482751c97aee08ef416b881b674c74e281..e656949f0d118c762d4f8609d01354bb9e623d92 100644 (file)
--- 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)
 {