From 354e78e57049c8cf53af0bc5cf2bfafd753affc4 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Wed, 18 May 2016 14:04:14 -0400 Subject: [PATCH] Fix: bogus mask on error.h PRINT types MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/common/error.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/common/error.h b/src/common/error.h index f2a31dfa1..3ab1d46e7 100644 --- a/src/common/error.h +++ b/src/common/error.h @@ -57,13 +57,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. -- 2.34.1