diff options
author | Attila Fülöp <[email protected]> | 2023-03-15 19:13:25 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2023-03-15 11:13:25 -0700 |
commit | 5f3611121dd844f81a27d15ed2db770dea189d11 (patch) | |
tree | bdf0a8180607c23f21d5fbd3716f03188862bb56 /lib/libspl/include/sys | |
parent | c31bb934cd30050a23f7ad7a648ad29e6cd0ae5d (diff) |
spl: cmn_err_once() should be usable in brace-less if else statements
Commit 11913870 (#14567) added cmn_err_once() by #define'ing a
compound statement but failed to consider usage in a single
statement brace-less if else.
Fix the problem by using the common "do {} while (0)" construct.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Attila Fülöp <[email protected]>
Closes #14629
Diffstat (limited to 'lib/libspl/include/sys')
-rw-r--r-- | lib/libspl/include/sys/cmn_err.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/libspl/include/sys/cmn_err.h b/lib/libspl/include/sys/cmn_err.h index 6c71dcb8e..6a29e6cff 100644 --- a/lib/libspl/include/sys/cmn_err.h +++ b/lib/libspl/include/sys/cmn_err.h @@ -30,35 +30,35 @@ #include <atomic.h> #define cmn_err_once(ce, ...) \ -{ \ +do { \ static volatile uint32_t printed = 0; \ if (atomic_cas_32(&printed, 0, 1) == 0) { \ cmn_err(ce, __VA_ARGS__); \ } \ -} +} while (0) #define vcmn_err_once(ce, fmt, ap) \ -{ \ +do { \ static volatile uint32_t printed = 0; \ if (atomic_cas_32(&printed, 0, 1) == 0) { \ vcmn_err(ce, fmt, ap); \ } \ -} +} while (0) #define zcmn_err_once(zone, ce, ...) \ -{ \ +do { \ static volatile uint32_t printed = 0; \ if (atomic_cas_32(&printed, 0, 1) == 0) { \ zcmn_err(zone, ce, __VA_ARGS__); \ } \ -} +} while (0) #define vzcmn_err_once(zone, ce, fmt, ap) \ -{ \ +do { \ static volatile uint32_t printed = 0; \ if (atomic_cas_32(&printed, 0, 1) == 0) { \ vzcmn_err(zone, ce, fmt, ap); \ } \ -} +} while (0) #endif |