Fix: Use PERROR all across lttng-tools, never make it quiet
[lttng-tools.git] / src / common / error.h
index 822dccfedfee1e5ded65db0c716522c9bd814ec8..93c947c0d92ce79cf88b6aa7952762b2e35ff85f 100644 (file)
 #include <stdio.h>
 #include <string.h>
 
+#ifndef _GNU_SOURCE
+#error "lttng-tools error.h needs _GNU_SOURCE"
+#endif
+
 /* Stringify the expansion of a define */
 #define XSTR(d) STR(d)
 #define STR(s) #s
@@ -40,21 +44,22 @@ extern int opt_verbose;
 /*
  * Macro for printing message depending on command line option and verbosity.
  */
-#define __lttng_print(type, fmt, args...)                                 \
-       do {                                                                  \
-               if (opt_quiet == 0) {                                             \
-                       if (type == PRINT_MSG) {                                      \
-                               fprintf(stdout, fmt, ## args);                            \
-                       } else if (((type & PRINT_DBG) && opt_verbose == 1) ||        \
-                                       ((type & (PRINT_DBG | PRINT_DBG2)) &&                 \
-                                               opt_verbose == 2) ||                              \
-                                       ((type & (PRINT_DBG | PRINT_DBG2 | PRINT_DBG3)) &&    \
-                                               opt_verbose == 3)) {                              \
-                               fprintf(stderr, fmt, ## args);                            \
-                       } else if (type & (PRINT_ERR | PRINT_WARN | PRINT_BUG)) {     \
-                               fprintf(stderr, fmt, ## args);                            \
-                       }                                                             \
-               }                                                                 \
+#define __lttng_print(type, fmt, args...)                                      \
+       do {                                                                    \
+               if (opt_quiet == 0 && type == PRINT_MSG) {                      \
+                       fprintf(stdout, fmt, ## args);                          \
+               } else if (opt_quiet == 0 &&                                    \
+                               (((type & PRINT_DBG) && opt_verbose == 1) ||    \
+                               ((type & (PRINT_DBG | PRINT_DBG2)) &&           \
+                                       opt_verbose == 2) ||                    \
+                               ((type & (PRINT_DBG | PRINT_DBG2 | PRINT_DBG3)) &&      \
+                                       opt_verbose == 3))) {                   \
+                       fprintf(stderr, fmt, ## args);                          \
+               } else if (opt_quiet == 0 && (type & (PRINT_WARN))) {           \
+                       fprintf(stderr, fmt, ## args);                          \
+               } else if (type & (PRINT_ERR | PRINT_BUG)) {                    \
+                       fprintf(stderr, fmt, ## args);                          \
+               }                                                               \
        } while (0);
 
 #define MSG(fmt, args...) \
@@ -79,7 +84,7 @@ extern int opt_verbose;
                " [in %s() at " __FILE__ ":" XSTR(__LINE__) "]\n", ## args, __func__)
 
 #define PERROR(call, args...) \
-    do { \
+       do { \
                char *buf; \
                char tmp[200]; \
                buf = strerror_r(errno, tmp, sizeof(tmp)); \
This page took 0.023769 seconds and 4 git commands to generate.