aboutsummaryrefslogtreecommitdiffstats
path: root/openbsd-compat/bsd-err.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat/bsd-err.h')
-rw-r--r--openbsd-compat/bsd-err.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/openbsd-compat/bsd-err.h b/openbsd-compat/bsd-err.h
new file mode 100644
index 00000000..f75d0eb4
--- /dev/null
+++ b/openbsd-compat/bsd-err.h
@@ -0,0 +1,29 @@
+/*
+ * Public domain
+ * err.h compatibility shim
+ */
+
+#ifndef HAVE_ERR_H
+
+#ifndef LIBCRYPTOCOMPAT_ERR_H
+#define LIBCRYPTOCOMPAT_ERR_H
+
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+
+#define err(exitcode, format, args...) \
+ errx(exitcode, format ": %s", ## args, strerror(errno))
+
+#define errx(exitcode, format, args...) \
+ do { warnx(format, ## args); exit(exitcode); } while (0)
+
+#define warn(format, args...) \
+ warnx(format ": %s", ## args, strerror(errno))
+
+#define warnx(format, args...) \
+ fprintf(stderr, format "\n", ## args)
+
+#endif
+
+#endif