Cornelia Huck <coh...@redhat.com> writes: > {error,warn}_report_once() are a special case of the new functions > and can simply switch to them. > > Signed-off-by: Cornelia Huck <coh...@redhat.com> > --- > include/qemu/error-report.h | 34 ++++++++++++++-------------------- > 1 file changed, 14 insertions(+), 20 deletions(-) > > diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h > index e415128ac4..918cb936d8 100644 > --- a/include/qemu/error-report.h > +++ b/include/qemu/error-report.h > @@ -53,32 +53,26 @@ 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_; \ > + bool ret_print_once_ = \ > + error_report_once_cond(&print_once_, \ > + fmt, ##__VA_ARGS__); \ > + unlikely(ret_print_once_); \ > })
Do we still need @ret_print_once_? #define error_report_once(fmt, ...) \ ({ \ static bool print_once_; \ unlikely(error_report_once_cond(&print_once_, \ fmt, ##__VA_ARGS__)); \ }) Or dispense with the unlikely: #define error_report_once(fmt, ...) \ ({ \ static bool print_once_; \ error_report_once_cond(&print_once_, \ fmt, ##__VA_ARGS__); \ }) Got a preference? > > /* > * 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_; \ > + bool ret_print_once_ = \ > + warn_report_once_cond(&print_once_, \ > + fmt, ##__VA_ARGS__); \ > + unlikely(ret_print_once_); \ > }) > > const char *error_get_progname(void);