summaryrefslogtreecommitdiff
path: root/experimental/elfutils/error.h
diff options
context:
space:
mode:
authorA. Wilcox <awilcox@wilcox-tech.com>2019-08-08 03:33:44 +0000
committerA. Wilcox <awilcox@wilcox-tech.com>2019-08-08 03:33:44 +0000
commitaddc96410e6eae47a28314aeaace3228bd70b9cd (patch)
tree3998870b58279b308d8ea678debce30da103dd5e /experimental/elfutils/error.h
parent6e8939f34d9bcc8294a64b64e5fce9ce16668070 (diff)
parent6722ef49445b3fbe7665fc487733a8710a98fb5f (diff)
downloadpackages-addc96410e6eae47a28314aeaace3228bd70b9cd.tar.gz
packages-addc96410e6eae47a28314aeaace3228bd70b9cd.tar.bz2
packages-addc96410e6eae47a28314aeaace3228bd70b9cd.tar.xz
packages-addc96410e6eae47a28314aeaace3228bd70b9cd.zip
Merge branch 'sr.2019.08.07' into 'master'
Misc changes, 2019.08.07 See merge request adelie/packages!315
Diffstat (limited to 'experimental/elfutils/error.h')
-rw-r--r--experimental/elfutils/error.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/experimental/elfutils/error.h b/experimental/elfutils/error.h
new file mode 100644
index 000000000..8bae4c7db
--- /dev/null
+++ b/experimental/elfutils/error.h
@@ -0,0 +1,29 @@
+#ifndef _ERROR_H_
+#define _ERROR_H_
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+static unsigned int error_message_count = 0;
+
+static inline void error(int status, int errnum, const char* format, ...)
+{
+ va_list ap;
+ fflush(stdout);
+ fprintf(stderr, "%s: ", program_invocation_name);
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
+ if (errnum)
+ fprintf(stderr, ": %s", strerror(errnum));
+ fprintf(stderr, "\n");
+ error_message_count++;
+ if (status)
+ exit(status);
+ fflush(stderr);
+}
+
+#endif /* _ERROR_H_ */