From ebf93f14174865a10c708b33aa53ec2a3b2b7163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Fri, 6 Oct 2023 01:05:22 +0200 Subject: [PATCH] spa: support: log: convert `spa_log_level_topic_enabled()` to a function There is no reason for it to be a macro. --- spa/include/spa/support/log.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/spa/include/spa/support/log.h b/spa/include/spa/support/log.h index fab7704d9..80abd792d 100644 --- a/spa/include/spa/support/log.h +++ b/spa/include/spa/support/log.h @@ -205,15 +205,21 @@ static inline void spa_log_topic_init(struct spa_log *log, struct spa_log_topic /* Unused, left for backwards compat */ #define spa_log_level_enabled(l,lev) ((l) && (l)->level >= (lev)) -#define spa_log_level_topic_enabled(l,topic,lev) \ -({ \ - struct spa_log *_log = l; \ - enum spa_log_level _lev = _log ? _log->level : SPA_LOG_LEVEL_NONE; \ - struct spa_log_topic *_t = (struct spa_log_topic *)(topic); \ - if (_t && _t->has_custom_level) \ - _lev = _t->level; \ - _lev >= (lev); \ -}) +static inline bool spa_log_level_topic_enabled(const struct spa_log *log, + const struct spa_log_topic *topic, + enum spa_log_level level) +{ + enum spa_log_level max_level; + + if (topic && topic->has_custom_level) + max_level = topic->level; + else if (log) + max_level = log->level; + else + max_level = SPA_LOG_LEVEL_NONE; + + return level <= max_level; +} /* Transparently calls to version 0 log if v1 is not supported */ #define spa_log_logt(l,lev,topic,...) \