X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=messages.h;h=2b97aa08cf748f0447a51d3ebbf05ce49784d5e2;hb=992aa558397e519d2251cdc6c4d3a9e019b240a0;hp=fa00ff4905f4844741798745f511e6453849a9ca;hpb=bb104f5bce93f669a2daf8e2bf82f63be7c3b729;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/messages.h b/messages.h index fa00ff4..2b97aa0 100644 --- a/messages.h +++ b/messages.h @@ -17,19 +17,19 @@ #ifndef __BTRFS_MESSAGES_H__ #define __BTRFS_MESSAGES_H__ -#if DEBUG_VERBOSE_ERROR +#ifdef DEBUG_VERBOSE_ERROR #define PRINT_VERBOSE_ERROR fprintf(stderr, "%s:%d:", __FILE__, __LINE__) #else #define PRINT_VERBOSE_ERROR #endif -#if DEBUG_TRACE_ON_ERROR +#ifdef DEBUG_TRACE_ON_ERROR #define PRINT_TRACE_ON_ERROR print_trace() #else #define PRINT_TRACE_ON_ERROR #endif -#if DEBUG_ABORT_ON_ERROR +#ifdef DEBUG_ABORT_ON_ERROR #define DO_ABORT_ON_ERROR abort() #else #define DO_ABORT_ON_ERROR @@ -39,7 +39,7 @@ do { \ PRINT_TRACE_ON_ERROR; \ PRINT_VERBOSE_ERROR; \ - __error((fmt), ##__VA_ARGS__); \ + __btrfs_error((fmt), ##__VA_ARGS__); \ DO_ABORT_ON_ERROR; \ } while (0) @@ -49,16 +49,29 @@ PRINT_TRACE_ON_ERROR; \ if ((cond)) \ PRINT_VERBOSE_ERROR; \ - __error_on((cond), (fmt), ##__VA_ARGS__); \ + __btrfs_error_on((cond), (fmt), ##__VA_ARGS__); \ if ((cond)) \ DO_ABORT_ON_ERROR; \ } while (0) +#define error_btrfs_util(err) \ + do { \ + const char *errno_str = strerror(errno); \ + const char *lib_str = btrfs_util_strerror(err); \ + PRINT_TRACE_ON_ERROR; \ + PRINT_VERBOSE_ERROR; \ + if (lib_str && strcmp(errno_str, lib_str) != 0) \ + __btrfs_error("%s: %s", lib_str, errno_str); \ + else \ + __btrfs_error("%s", errno_str); \ + DO_ABORT_ON_ERROR; \ + } while (0) + #define warning(fmt, ...) \ do { \ PRINT_TRACE_ON_ERROR; \ PRINT_VERBOSE_ERROR; \ - __warning((fmt), ##__VA_ARGS__); \ + __btrfs_warning((fmt), ##__VA_ARGS__); \ } while (0) #define warning_on(cond, fmt, ...) \ @@ -67,65 +80,19 @@ PRINT_TRACE_ON_ERROR; \ if ((cond)) \ PRINT_VERBOSE_ERROR; \ - __warning_on((cond), (fmt), ##__VA_ARGS__); \ + __btrfs_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); -} +void __btrfs_warning(const char *fmt, ...); __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); -} +void __btrfs_error(const char *fmt, ...); __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; -} +int __btrfs_warning_on(int condition, const char *fmt, ...); __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; -} +int __btrfs_error_on(int condition, const char *fmt, ...); #endif