# HG changeset patch # User Matti Hamalainen # Date 1258492095 -7200 # Node ID 0313fabd8049369ca62f8f77719f5af9b95eff52 # Parent b7c981e27b66db84d6e425275bb2a0ab78108042 Added varargs versions of some functions. diff -r b7c981e27b66 -r 0313fabd8049 th_util.c --- a/th_util.c Tue Nov 17 19:21:35 2009 +0200 +++ b/th_util.c Tue Nov 17 23:08:15 2009 +0200 @@ -48,44 +48,66 @@ /* Print formatted error, warning and information messages * TODO: Implement th_vfprintf() and friends? */ -void THERR(const char *pcFormat, ...) +void THERR_V(const char *fmt, va_list ap) +{ + assert(th_initialized == TRUE); + + fprintf(stderr, "%s: ", th_prog_name); + vfprintf(stderr, fmt, ap); +} + + +void THMSG_V(int level, const char *fmt, va_list ap) +{ + assert(th_initialized == TRUE); + + if (th_verbosityLevel >= level) { + fprintf(stderr, "%s: ", th_prog_name); + vfprintf(stderr, fmt, ap); + } +} + + +void THPRINT_V(int level, const char *fmt, va_list ap) +{ + assert(th_initialized == TRUE); + + if (th_verbosityLevel >= level) { + vfprintf(stderr, fmt, ap); + } +} + + +void THERR(const char *fmt, ...) { va_list ap; - assert(th_initialized); + assert(th_initialized == TRUE); - va_start(ap, pcFormat); - fprintf(stderr, "%s: ", th_prog_name); - vfprintf(stderr, pcFormat, ap); + va_start(ap, fmt); + THERR_V(fmt, ap); va_end(ap); } -void THMSG(int verbLevel, const char *pcFormat, ...) +void THMSG(int level, const char *fmt, ...) { va_list ap; - assert(th_initialized); + assert(th_initialized == TRUE); - /* Check if the current verbosity level is enough */ - if (th_verbosityLevel >= verbLevel) { - va_start(ap, pcFormat); - fprintf(stderr, "%s: ", th_prog_name); - vfprintf(stderr, pcFormat, ap); - va_end(ap); - } + va_start(ap, fmt); + THMSG_V(level, fmt, ap); + va_end(ap); } -void THPRINT(int verbLevel, const char *pcFormat, ...) +void THPRINT(int level, const char *fmt, ...) { va_list ap; - assert(th_initialized); + assert(th_initialized == TRUE); - /* Check if the current verbosity level is enough */ - if (th_verbosityLevel >= verbLevel) { - va_start(ap, pcFormat); - vfprintf(stderr, pcFormat, ap); - va_end(ap); - } + va_start(ap, fmt); + THPRINT_V(level, fmt, ap); + va_end(ap); } diff -r b7c981e27b66 -r 0313fabd8049 th_util.h --- a/th_util.h Tue Nov 17 19:21:35 2009 +0200 +++ b/th_util.h Tue Nov 17 23:08:15 2009 +0200 @@ -68,6 +68,10 @@ void THMSG(int, const char *, ...); void THPRINT(int, const char *, ...); +void THERR_V(const char *, va_list); +void THMSG_V(int, const char *, va_list); +void THPRINT_V(int, const char *, va_list); + void *th_malloc(size_t); void *th_calloc(size_t, size_t); void *th_realloc(void *, size_t);