From 2c0d4095ad9d40cab3b9b25370ea651f16d5db30 Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Sun, 9 May 2010 22:43:04 +0200 Subject: [PATCH] Introduce cc_log_no_newline function --- ccache.h | 1 + util.c | 27 +++++++++++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/ccache.h b/ccache.h index 0e2429051..a3072dfec 100644 --- a/ccache.h +++ b/ccache.h @@ -65,6 +65,7 @@ char *hash_result(struct mdfour *md); void hash_result_as_bytes(struct mdfour *md, unsigned char *out); void hash_buffer(struct mdfour *md, const void *s, size_t len); +void cc_log_no_newline(const char *format, ...) ATTR_FORMAT(printf, 1, 2); void cc_log(const char *format, ...) ATTR_FORMAT(printf, 1, 2); void fatal(const char *format, ...) ATTR_FORMAT(printf, 1, 2); diff --git a/util.c b/util.c index ccbbc5a6f..9f90efd9f 100644 --- a/util.c +++ b/util.c @@ -42,10 +42,8 @@ static FILE *logfile; -/* log a message to the CCACHE_LOGFILE location */ -void cc_log(const char *format, ...) +static void cc_log_va_list(const char *format, va_list ap) { - va_list ap; extern char *cache_logfile; if (!cache_logfile) return; @@ -54,8 +52,29 @@ void cc_log(const char *format, ...) if (!logfile) return; fprintf(logfile, "[%-5d] ", getpid()); - va_start(ap, format); vfprintf(logfile, format, ap); +} + +/* + * Log a message to the CCACHE_LOGFILE location without newline and without + * flushing. + */ +void cc_log_no_newline(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + cc_log_va_list(format, ap); + va_end(ap); +} + +/* + * Log a message to the CCACHE_LOGFILE location adding a newline and flushing. + */ +void cc_log(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + cc_log_va_list(format, ap); va_end(ap); fprintf(logfile, "\n"); fflush(logfile); -- 2.47.2