Fix: error.h: add missing parenthesis around macro parameter
[lttng-tools.git] / src / common / error.h
index 00519d840c65f20475b61c8b4ab43506728ad754..ca5af86cdb56e6519164d8f7486697723a1b495a 100644 (file)
 #include <lttng/lttng-error.h>
 #include <common/compat/tid.h>
 
+/* Avoid conflict with Solaris <sys/regset.h> */
+#if defined(ERR) && defined(__sun__)
+#undef ERR
+#endif
+
 /* Stringify the expansion of a define */
 #define XSTR(d) STR(d)
 #define STR(s) #s
@@ -52,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.
@@ -68,23 +73,22 @@ extern int lttng_opt_mi;
  * want any nested msg to show up when printing mi to stdout(if it's the case).
  * All warnings and errors should be printed to stderr as normal.
  */
-#define __lttng_print(type, fmt, args...)                           \
-       do {                                                            \
-               if (lttng_opt_quiet == 0 && lttng_opt_mi == 0 &&            \
-                               type == PRINT_MSG) {                                \
-                       fprintf(stdout, fmt, ## args);                          \
-               } else if (lttng_opt_quiet == 0 && lttng_opt_mi == 0 &&     \
-                               (((type & PRINT_DBG) && lttng_opt_verbose == 1) ||  \
-                               ((type & (PRINT_DBG | PRINT_DBG2)) &&               \
-                                       lttng_opt_verbose == 2) ||                      \
-                               ((type & (PRINT_DBG | PRINT_DBG2 | PRINT_DBG3)) &&  \
-                                       lttng_opt_verbose == 3))) {                     \
-                       fprintf(stderr, fmt, ## args);                          \
-               } else if (lttng_opt_quiet == 0 && (type & (PRINT_WARN))) { \
-                       fprintf(stderr, fmt, ## args);                          \
-               } else if (type & (PRINT_ERR | PRINT_BUG)) {                \
-                       fprintf(stderr, fmt, ## args);                          \
-               }                                                           \
+#define __lttng_print(type, fmt, args...)                                          \
+       do {                                                                       \
+               if (!lttng_opt_quiet && !lttng_opt_mi &&                           \
+                               (type) == PRINT_MSG) {                             \
+                       fprintf(stdout, fmt, ## args);                             \
+               } else if (!lttng_opt_quiet && !lttng_opt_mi &&                    \
+                               ((((type) & PRINT_DBG) && lttng_opt_verbose == 1) || \
+                               (((type) & (PRINT_DBG | PRINT_DBG2)) &&            \
+                                       lttng_opt_verbose == 2) ||                 \
+                               (((type) & (PRINT_DBG | PRINT_DBG2 | PRINT_DBG3)) && \
+                                       lttng_opt_verbose == 3))) {                \
+                       fprintf(stderr, fmt, ## args);                             \
+               } else if (!lttng_opt_quiet &&                                     \
+                               ((type) & (PRINT_WARN | PRINT_ERR | PRINT_BUG))) { \
+                       fprintf(stderr, fmt, ## args);                             \
+               }                                                                  \
        } while (0);
 
 /* Three level of debug. Use -v, -vv or -vvv for the levels */
This page took 0.024383 seconds and 4 git commands to generate.