From: Mathieu Desnoyers Date: Wed, 18 May 2016 18:04:14 +0000 (-0400) Subject: Fix: bogus mask on error.h PRINT types X-Git-Tag: v2.6.3~19 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=beeba745e560344f29d589d8f27f872b320fd1df;p=lttng-tools.git Fix: bogus mask on error.h PRINT types PRINT_ERR maps to 0x1, PRINT_WARN maps to 0x2, which is fine so far to use as masks, but PRINT_BUG maps to 0x3, which is the same as both PRINT_ERR and PRINT_WARN, and does not make sense to use in masks with __lttng_print: (type & (PRINT_WARN | PRINT_ERR | PRINT_BUG)) Fix this by ensuring PRINT_BUG has its own mask, and express all constants as shifts to eliminate the risk of re-introducing a similar bug in the future. Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau --- diff --git a/src/common/error.h b/src/common/error.h index 89b3363ce..1ae1c8d3e 100644 --- a/src/common/error.h +++ b/src/common/error.h @@ -52,13 +52,13 @@ extern int lttng_opt_verbose; extern int lttng_opt_mi; /* Error type. */ -#define PRINT_ERR 0x1 -#define PRINT_WARN 0x2 -#define PRINT_BUG 0x3 -#define PRINT_MSG 0x4 -#define PRINT_DBG 0x10 -#define PRINT_DBG2 0x20 -#define PRINT_DBG3 0x30 +#define PRINT_ERR (1 << 0) +#define PRINT_WARN (1 << 1) +#define PRINT_BUG (1 << 2) +#define PRINT_MSG (1 << 3) +#define PRINT_DBG (1 << 4) +#define PRINT_DBG2 (1 << 5) +#define PRINT_DBG3 (1 << 6) /* * Macro for printing message depending on command line option and verbosity.