diff -crb --new-file a/lib/error.h b/lib/error.h *** a/lib/error.h 1969-12-31 19:00:00.000000000 -0500 --- b/lib/error.h 2021-01-21 04:38:25.000000000 -0500 *************** *** 0 **** --- 1,27 ---- + #ifndef _ERROR_H_ + #define _ERROR_H_ + + #include + #include + #include + #include + #include + + 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_ */ diff -crb --new-file a/src/error.h b/src/error.h *** a/src/error.h 1969-12-31 19:00:00.000000000 -0500 --- b/src/error.h 2021-01-21 04:38:29.000000000 -0500 *************** *** 0 **** --- 1,27 ---- + #ifndef _ERROR_H_ + #define _ERROR_H_ + + #include + #include + #include + #include + #include + + 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_ */