aboutsummaryrefslogtreecommitdiff
path: root/error_prints.h
diff options
context:
space:
mode:
Diffstat (limited to 'error_prints.h')
-rw-r--r--error_prints.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/error_prints.h b/error_prints.h
index 7ddcb50b..99c80389 100644
--- a/error_prints.h
+++ b/error_prints.h
@@ -33,8 +33,12 @@
#ifndef STRACE_ERROR_PRINTS_H
#define STRACE_ERROR_PRINTS_H
+#include <stdbool.h>
+
#include "gcc_compat.h"
+extern bool debug_flag;
+
void die(void) ATTRIBUTE_NORETURN;
void error_msg(const char *fmt, ...) ATTRIBUTE_FORMAT((printf, 1, 2));
@@ -46,4 +50,30 @@ void error_msg_and_help(const char *fmt, ...)
void error_msg_and_die(const char *fmt, ...)
ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
+/* Wrappers for if (debug_flag) error_msg(...) */
+#define debug_msg(...) \
+ do { \
+ if (debug_flag) \
+ error_msg(__VA_ARGS__); \
+ } while (0)
+#define debug_perror_msg(...) \
+ do { \
+ if (debug_flag) \
+ perror_msg(__VA_ARGS__); \
+ } while (0)
+
+/* Simple wrappers for providing function name in error messages */
+#define error_func_msg(fmt_, ...) \
+ error_msg("%s: " fmt_, __func__, ##__VA_ARGS__)
+#define perror_func_msg(fmt_, ...) \
+ perror_msg("%s: " fmt_, __func__, ##__VA_ARGS__)
+#define debug_func_msg(fmt_, ...) \
+ debug_msg("%s: " fmt_, __func__, ##__VA_ARGS__)
+#define debug_func_perror_msg(fmt_, ...) \
+ debug_perror_msg("%s: " fmt_, __func__, ##__VA_ARGS__)
+#define error_func_msg_and_die(fmt_, ...) \
+ error_msg_and_die("%s: " fmt_, __func__, ##__VA_ARGS__)
+#define perror_func_msg_and_die(fmt_, ...) \
+ perror_msg_and_die("%s: " fmt_, __func__, ##__VA_ARGS__)
+
#endif /* !STRACE_ERROR_PRINTS_H */