aboutsummaryrefslogtreecommitdiff
path: root/lib/err.c
diff options
context:
space:
mode:
authorKlaatu <[email protected]>2015-05-17 15:33:21 +1200
committerKlaatu <[email protected]>2015-05-17 15:33:21 +1200
commitb0de699679e8f1e39af847ed172d1ba605b4370c (patch)
tree01dac00471d61f727394e508c613b29cff0ceae5 /lib/err.c
bulk upload of source
Diffstat (limited to 'lib/err.c')
-rw-r--r--lib/err.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/err.c b/lib/err.c
new file mode 100644
index 0000000..fd4218e
--- /dev/null
+++ b/lib/err.c
@@ -0,0 +1,39 @@
+#include <stdarg.h>
+#include "../ninitfeatures.h"
+#include "../djb/buffer.h"
+
+#if 0
+void err(int fd, const char *m, ...) /*EXTRACT_INCL*/
+#endif
+
+#ifdef ERRMSG_BUFFER
+#define P(S) buffer_puts(X,S)
+#define E() err_b(buffer *X, const char *m, ...)
+
+#else
+#define P(S) errmsg_puts(X,S)
+#define E() err(int X, const char *m, ...)
+#endif
+
+extern const char *errmsg_argv0;
+
+void E() {
+ const char *s=m;
+ va_list a;
+ va_start(a,m);
+
+ if (errmsg_argv0) {
+ P(errmsg_argv0);
+ P(": ");
+ }
+
+ while (s) {
+ P(s);
+ s=va_arg(a,const char*);
+ }
+ P("\n");
+#ifndef ERRMSG_BUFFER
+ P(0);
+#endif
+ va_end(a);
+}