aboutsummaryrefslogtreecommitdiff
path: root/core/libelf/files/error.h
diff options
context:
space:
mode:
authorCem Keylan <cem@ckyln.com>2020-08-03 21:29:37 +0300
committerCem Keylan <cem@ckyln.com>2020-08-03 21:29:37 +0300
commit452372b3f917edeea71d250b228d2cf673bb4f70 (patch)
tree487624d8080a46df23f8e55f3fed1ec2d982a952 /core/libelf/files/error.h
parent7f2e3be5544a74bb0d5207897dff3d21ec1b512a (diff)
downloadrepository-452372b3f917edeea71d250b228d2cf673bb4f70.tar.gz
libelf: switch to elfutils
Diffstat (limited to 'core/libelf/files/error.h')
-rw-r--r--core/libelf/files/error.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/core/libelf/files/error.h b/core/libelf/files/error.h
new file mode 100644
index 00000000..ef06827a
--- /dev/null
+++ b/core/libelf/files/error.h
@@ -0,0 +1,27 @@
+#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;
+ 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);
+}
+
+#endif /* _ERROR_H_ */