]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
log: Make sure LOG_CONTEXT_SET_LOG_LEVEL() can be nested
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 7 Apr 2025 18:06:34 +0000 (20:06 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 23 Apr 2025 12:46:12 +0000 (14:46 +0200)
src/basic/log-context.h

index 84339695bfa9e422bed76e8f7d361206769ac1bc..2b3a06aab64c4b84b3694426175b57b8385720bf 100644 (file)
@@ -75,8 +75,11 @@ size_t log_context_num_fields(void);
 
 void _reset_log_level(int *saved_log_level);
 
+#define _LOG_CONTEXT_SET_LOG_LEVEL(level, l) \
+        _cleanup_(_reset_log_level) _unused_ int l = log_set_max_level(level);
+
 #define LOG_CONTEXT_SET_LOG_LEVEL(level) \
-        _cleanup_(_reset_log_level) _unused_ int _saved_log_level_ = log_set_max_level(level);
+        _LOG_CONTEXT_SET_LOG_LEVEL(level, UNIQ_T(l, UNIQ))
 
 #define LOG_CONTEXT_PUSH(...) \
         LOG_CONTEXT_PUSH_STRV(STRV_MAKE(__VA_ARGS__))