diff options
author | Max Rees <maxcrees@me.com> | 2019-07-18 06:15:43 -0400 |
---|---|---|
committer | Max Rees <maxcrees@me.com> | 2019-08-07 18:07:49 -0500 |
commit | 420a64fe15922629a54e7d38cdedbf1fc86ee8ff (patch) | |
tree | 2b526e9b9426734eff19ca295dd42a91f37811a1 /experimental/elfutils/error.h | |
parent | 17ca3641eaad94f05d1c9f66593c67e425268050 (diff) | |
download | packages-420a64fe15922629a54e7d38cdedbf1fc86ee8ff.tar.gz packages-420a64fe15922629a54e7d38cdedbf1fc86ee8ff.tar.bz2 packages-420a64fe15922629a54e7d38cdedbf1fc86ee8ff.tar.xz packages-420a64fe15922629a54e7d38cdedbf1fc86ee8ff.zip |
experimental/elfutils: new package
Diffstat (limited to 'experimental/elfutils/error.h')
-rw-r--r-- | experimental/elfutils/error.h | 29 |
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_ */ |