[lttng-dev] [PATCH lttng-tools 05/10] Fix: bogus mask on error.h PRINT types
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Wed May 18 18:04:14 UTC 2016
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 <mathieu.desnoyers at efficios.com>
---
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 f2a31df..3ab1d46 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.1.4
More information about the lttng-dev
mailing list