diff options
Diffstat (limited to 'colorize.c')
-rw-r--r-- | colorize.c | 22 |
1 files changed, 16 insertions, 6 deletions
@@ -196,6 +196,7 @@ static void *realloc_wrap_debug (void *, size_t, const char *, unsigned int); static void free_wrap (void **); static char *strdup_wrap (const char *); static char *str_concat (const char *, const char *); +static void vfprintf_diag (const char *, ...); static void vfprintf_fail (const char *, ...); static void stack_var (void ***, unsigned int *, unsigned int, void *); static void release_var (void **, unsigned int, void **); @@ -971,15 +972,24 @@ str_concat (const char *str1, const char *str2) return str; } +#define DO_VFPRINTF(fmt) \ + va_list ap; \ + fprintf (stderr, "%s: ", program_name); \ + va_start (ap, fmt); \ + vfprintf (stderr, fmt, ap); \ + va_end (ap); \ + fprintf (stderr, "\n"); \ + +static void +vfprintf_diag (const char *fmt, ...) +{ + DO_VFPRINTF (fmt); +} + static void vfprintf_fail (const char *fmt, ...) { - va_list ap; - fprintf (stderr, "%s: ", program_name); - va_start (ap, fmt); - vfprintf (stderr, fmt, ap); - va_end (ap); - fprintf (stderr, "\n"); + DO_VFPRINTF (fmt); exit (EXIT_FAILURE); } |