diff options
-rw-r--r-- | src/apk_print.h | 5 | ||||
-rw-r--r-- | src/print.c | 25 |
2 files changed, 21 insertions, 9 deletions
diff --git a/src/apk_print.h b/src/apk_print.h index 590b8f3..841107d 100644 --- a/src/apk_print.h +++ b/src/apk_print.h @@ -14,13 +14,14 @@ #include "apk_blob.h" -#define apk_error(args...) do { apk_log("ERROR: ", args); } while (0) -#define apk_warning(args...) do { if (apk_verbosity > 0) { apk_log("WARNING: ", args); } } while (0) +#define apk_error(args...) do { apk_log_err("ERROR: ", args); } while (0) +#define apk_warning(args...) do { if (apk_verbosity > 0) { apk_log_err("WARNING: ", args); } } while (0) #define apk_message(args...) do { if (apk_verbosity > 0) { apk_log(NULL, args); } } while (0) extern int apk_progress_fd; void apk_log(const char *prefix, const char *format, ...); +void apk_log_err(const char *prefix, const char *format, ...); const char *apk_error_str(int error); void apk_reset_screen_width(void); diff --git a/src/print.c b/src/print.c index 5df51f3..6608152 100644 --- a/src/print.c +++ b/src/print.c @@ -157,17 +157,28 @@ const char *apk_error_str(int error) } } +static void log(FILE *dest, const char *prefix, const char *format, va_list va) +{ + if (prefix != NULL) + fprintf(dest, "%s", prefix); + vfprintf(dest, format, va); + fprintf(dest, "\n"); + fflush(dest); + apk_progress_force = 1; +} + void apk_log(const char *prefix, const char *format, ...) { va_list va; - - if (prefix != NULL) - fprintf(stdout, "%s", prefix); va_start(va, format); - vfprintf(stdout, format, va); + log(stdout, prefix, format, va); va_end(va); - fprintf(stdout, "\n"); - fflush(stdout); - apk_progress_force = 1; } +void apk_log_err(const char *prefix, const char *format, ...) +{ + va_list va; + va_start(va, format); + log(stderr, prefix, format, va); + va_end(va); +} |