on win32, there is no err.h Signed-off-by: Yonggang Luo <luoyongg...@gmail.com> --- lib/error.c | 9 ++++++++- lib/system.h | 4 +--- 2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/lib/error.c b/lib/error.c index 5186fc15..7924735e 100644 --- a/lib/error.c +++ b/lib/error.c @@ -28,12 +28,14 @@ #include <config.h> -#if !defined(HAVE_ERROR_H) && defined(HAVE_ERR_H) +#if !defined(HAVE_ERROR_H) #include <errno.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> +#if defined(HAVE_ERR_H) #include <err.h> +#endif unsigned int error_message_count = 0; @@ -44,6 +46,7 @@ void error(int status, int errnum, const char *format, ...) { fflush (stdout); va_start(argp, format); +#if defined(HAVE_ERR_H) if (status) { if (errnum) @@ -64,6 +67,10 @@ void error(int status, int errnum, const char *format, ...) { else vwarnx (format, argp); } +#else + (void)status; + vfprintf(stderr, format, argp); +#endif va_end(argp); fflush (stderr); diff --git a/lib/system.h b/lib/system.h index 7132cd6d..264781c2 100644 --- a/lib/system.h +++ b/lib/system.h @@ -51,11 +51,9 @@ #if defined(HAVE_ERROR_H) #include <error.h> -#elif defined(HAVE_ERR_H) +#else extern int error_message_count; void error(int status, int errnum, const char *format, ...); -#else -#error "err.h or error.h must be available" #endif /* error (EXIT_FAILURE, ...) should be noreturn but on some systems it -- 2.36.1.windows.1