summary refs log tree commit diff stats
path: root/include/qemu/error-report.h
diff options
context:
space:
mode:
authorCornelia Huck <cohuck@redhat.com>2018-08-30 16:59:02 +0200
committerMarkus Armbruster <armbru@redhat.com>2018-09-24 17:13:07 +0200
commitc6c594596eabc80f6e54d96c56f01f8531d389b5 (patch)
treeea0905ce501ee2f2da9d84def79ac7fbbb7ebaca /include/qemu/error-report.h
parentc55510b72218a2d0b263eda006fd7aac1496b694 (diff)
downloadfocaccia-qemu-c6c594596eabc80f6e54d96c56f01f8531d389b5.tar.gz
focaccia-qemu-c6c594596eabc80f6e54d96c56f01f8531d389b5.zip
qemu-error: make use of {error, warn}_report_once_cond
{error,warn}_report_once() are a special case of the new functions
and can simply switch to them.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20180830145902.27376-3-cohuck@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Dispense with unlikely() to keep the macros as simple as possible]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'include/qemu/error-report.h')
-rw-r--r--include/qemu/error-report.h30
1 files changed, 10 insertions, 20 deletions
diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h
index e415128ac4..0a8d9cc9ea 100644
--- a/include/qemu/error-report.h
+++ b/include/qemu/error-report.h
@@ -53,32 +53,22 @@ bool warn_report_once_cond(bool *printed, const char *fmt, ...)
  * Similar to error_report(), except it prints the message just once.
  * Return true when it prints, false otherwise.
  */
-#define error_report_once(fmt, ...)             \
-    ({                                          \
-        static bool print_once_;                \
-        bool ret_print_once_ = !print_once_;    \
-                                                \
-        if (!print_once_) {                     \
-            print_once_ = true;                 \
-            error_report(fmt, ##__VA_ARGS__);   \
-        }                                       \
-        unlikely(ret_print_once_);              \
+#define error_report_once(fmt, ...)                     \
+    ({                                                  \
+        static bool print_once_;                        \
+        error_report_once_cond(&print_once_,            \
+                               fmt, ##__VA_ARGS__);     \
     })
 
 /*
  * Similar to warn_report(), except it prints the message just once.
  * Return true when it prints, false otherwise.
  */
-#define warn_report_once(fmt, ...)              \
-    ({                                          \
-        static bool print_once_;                \
-        bool ret_print_once_ = !print_once_;    \
-                                                \
-        if (!print_once_) {                     \
-            print_once_ = true;                 \
-            warn_report(fmt, ##__VA_ARGS__);    \
-        }                                       \
-        unlikely(ret_print_once_);              \
+#define warn_report_once(fmt, ...)                      \
+    ({                                                  \
+        static bool print_once_;                        \
+        warn_report_once_cond(&print_once_,             \
+                              fmt, ##__VA_ARGS__);      \
     })
 
 const char *error_get_progname(void);