From: David Goulet Date: Fri, 29 Apr 2011 15:55:21 +0000 (-0400) Subject: Change __lttng_print to a define macro X-Git-Tag: v2.0-pre1~169 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=3ce7388b1164c37fcc702b4150aa5bbf8e76e379 Change __lttng_print to a define macro Signed-off-by: David Goulet --- diff --git a/include/lttngerr.h b/include/lttngerr.h index c987fdd61..1da7863a1 100644 --- a/include/lttngerr.h +++ b/include/lttngerr.h @@ -36,24 +36,19 @@ enum __lttng_print_type { /* * __lttng_print * - * Internal function for printing message - * depending on command line option and verbosity. + * Macro for printing message depending on + * command line option and verbosity. */ -void __lttng_print(enum __lttng_print_type type, const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - - if (opt_quiet == 0) { - if (type == PRINT_MSG || (opt_verbose && type == PRINT_DBG)) { - vfprintf(stdout, fmt, ap); - } else if (type != PRINT_MSG && type != PRINT_DBG) { - vfprintf(stderr, fmt, ap); - } - } - - va_end(ap); -} +#define __lttng_print(type, fmt, args...) \ + do { \ + if (opt_quiet == 0) { \ + if (type == PRINT_MSG || (opt_verbose && type == PRINT_DBG)) { \ + fprintf(stdout, fmt, ## args); \ + } else if (type != PRINT_MSG && type != PRINT_DBG) { \ + fprintf(stderr, fmt, ## args); \ + } \ + } \ + } while (0); #define MSG(fmt, args...) __lttng_print(PRINT_MSG, fmt "\n", ## args) #define ERR(fmt, args...) __lttng_print(PRINT_ERR, "Error: " fmt "\n", ## args)