summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2017-02-01 16:14:06 +0100
committerDavid Sterba <dsterba@suse.com>2017-03-08 13:00:46 +0100
commitbb104f5bce93f669a2daf8e2bf82f63be7c3b729 (patch)
tree66b302765dce77e307ef6ea5c13dee4ce83dac76
parenta09f0e96e79e27fc8f34ddb4077682fe09f43cf2 (diff)
btrfs-progs: move message helpers out of utils
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--messages.h131
-rw-r--r--utils.h112
2 files changed, 132 insertions, 111 deletions
diff --git a/messages.h b/messages.h
new file mode 100644
index 00000000..fa00ff49
--- /dev/null
+++ b/messages.h
@@ -0,0 +1,131 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ */
+
+#ifndef __BTRFS_MESSAGES_H__
+#define __BTRFS_MESSAGES_H__
+
+#if DEBUG_VERBOSE_ERROR
+#define PRINT_VERBOSE_ERROR fprintf(stderr, "%s:%d:", __FILE__, __LINE__)
+#else
+#define PRINT_VERBOSE_ERROR
+#endif
+
+#if DEBUG_TRACE_ON_ERROR
+#define PRINT_TRACE_ON_ERROR print_trace()
+#else
+#define PRINT_TRACE_ON_ERROR
+#endif
+
+#if DEBUG_ABORT_ON_ERROR
+#define DO_ABORT_ON_ERROR abort()
+#else
+#define DO_ABORT_ON_ERROR
+#endif
+
+#define error(fmt, ...) \
+ do { \
+ PRINT_TRACE_ON_ERROR; \
+ PRINT_VERBOSE_ERROR; \
+ __error((fmt), ##__VA_ARGS__); \
+ DO_ABORT_ON_ERROR; \
+ } while (0)
+
+#define error_on(cond, fmt, ...) \
+ do { \
+ if ((cond)) \
+ PRINT_TRACE_ON_ERROR; \
+ if ((cond)) \
+ PRINT_VERBOSE_ERROR; \
+ __error_on((cond), (fmt), ##__VA_ARGS__); \
+ if ((cond)) \
+ DO_ABORT_ON_ERROR; \
+ } while (0)
+
+#define warning(fmt, ...) \
+ do { \
+ PRINT_TRACE_ON_ERROR; \
+ PRINT_VERBOSE_ERROR; \
+ __warning((fmt), ##__VA_ARGS__); \
+ } while (0)
+
+#define warning_on(cond, fmt, ...) \
+ do { \
+ if ((cond)) \
+ PRINT_TRACE_ON_ERROR; \
+ if ((cond)) \
+ PRINT_VERBOSE_ERROR; \
+ __warning_on((cond), (fmt), ##__VA_ARGS__); \
+ } while (0)
+
+__attribute__ ((format (printf, 1, 2)))
+static inline void __warning(const char *fmt, ...)
+{
+ va_list args;
+
+ fputs("WARNING: ", stderr);
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fputc('\n', stderr);
+}
+
+__attribute__ ((format (printf, 1, 2)))
+static inline void __error(const char *fmt, ...)
+{
+ va_list args;
+
+ fputs("ERROR: ", stderr);
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fputc('\n', stderr);
+}
+
+__attribute__ ((format (printf, 2, 3)))
+static inline int __warning_on(int condition, const char *fmt, ...)
+{
+ va_list args;
+
+ if (!condition)
+ return 0;
+
+ fputs("WARNING: ", stderr);
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fputc('\n', stderr);
+
+ return 1;
+}
+
+__attribute__ ((format (printf, 2, 3)))
+static inline int __error_on(int condition, const char *fmt, ...)
+{
+ va_list args;
+
+ if (!condition)
+ return 0;
+
+ fputs("ERROR: ", stderr);
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fputc('\n', stderr);
+
+ return 1;
+}
+
+#endif
diff --git a/utils.h b/utils.h
index a9d689e4..31ccbf07 100644
--- a/utils.h
+++ b/utils.h
@@ -27,6 +27,7 @@
#include "internal.h"
#include "btrfs-list.h"
#include "sizes.h"
+#include "messages.h"
#define BTRFS_SCAN_MOUNTED (1ULL << 0)
#define BTRFS_SCAN_LBLKID (1ULL << 1)
@@ -146,59 +147,6 @@ int btrfs_tree_search2_ioctl_supported(int fd);
unsigned int get_unit_mode_from_arg(int *argc, char *argv[], int df_mode);
int string_is_numerical(const char *str);
-#if DEBUG_VERBOSE_ERROR
-#define PRINT_VERBOSE_ERROR fprintf(stderr, "%s:%d:", __FILE__, __LINE__)
-#else
-#define PRINT_VERBOSE_ERROR
-#endif
-
-#if DEBUG_TRACE_ON_ERROR
-#define PRINT_TRACE_ON_ERROR print_trace()
-#else
-#define PRINT_TRACE_ON_ERROR
-#endif
-
-#if DEBUG_ABORT_ON_ERROR
-#define DO_ABORT_ON_ERROR abort()
-#else
-#define DO_ABORT_ON_ERROR
-#endif
-
-#define error(fmt, ...) \
- do { \
- PRINT_TRACE_ON_ERROR; \
- PRINT_VERBOSE_ERROR; \
- __error((fmt), ##__VA_ARGS__); \
- DO_ABORT_ON_ERROR; \
- } while (0)
-
-#define error_on(cond, fmt, ...) \
- do { \
- if ((cond)) \
- PRINT_TRACE_ON_ERROR; \
- if ((cond)) \
- PRINT_VERBOSE_ERROR; \
- __error_on((cond), (fmt), ##__VA_ARGS__); \
- if ((cond)) \
- DO_ABORT_ON_ERROR; \
- } while (0)
-
-#define warning(fmt, ...) \
- do { \
- PRINT_TRACE_ON_ERROR; \
- PRINT_VERBOSE_ERROR; \
- __warning((fmt), ##__VA_ARGS__); \
- } while (0)
-
-#define warning_on(cond, fmt, ...) \
- do { \
- if ((cond)) \
- PRINT_TRACE_ON_ERROR; \
- if ((cond)) \
- PRINT_VERBOSE_ERROR; \
- __warning_on((cond), (fmt), ##__VA_ARGS__); \
- } while (0)
-
/*
* Global program state, configurable by command line and available to
* functions without extra context passing.
@@ -209,64 +157,6 @@ extern struct btrfs_config bconf;
void btrfs_config_init(void);
-__attribute__ ((format (printf, 1, 2)))
-static inline void __warning(const char *fmt, ...)
-{
- va_list args;
-
- fputs("WARNING: ", stderr);
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- fputc('\n', stderr);
-}
-
-__attribute__ ((format (printf, 1, 2)))
-static inline void __error(const char *fmt, ...)
-{
- va_list args;
-
- fputs("ERROR: ", stderr);
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- fputc('\n', stderr);
-}
-
-__attribute__ ((format (printf, 2, 3)))
-static inline int __warning_on(int condition, const char *fmt, ...)
-{
- va_list args;
-
- if (!condition)
- return 0;
-
- fputs("WARNING: ", stderr);
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- fputc('\n', stderr);
-
- return 1;
-}
-
-__attribute__ ((format (printf, 2, 3)))
-static inline int __error_on(int condition, const char *fmt, ...)
-{
- va_list args;
-
- if (!condition)
- return 0;
-
- fputs("ERROR: ", stderr);
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- fputc('\n', stderr);
-
- return 1;
-}
-
/* Pseudo random number generator wrappers */
int rand_int(void);
u8 rand_u8(void);