linked-list: Change return value of find_first() and signature of its callback
This avoids the unportable five pointer hack.
This commit is contained in:
+10
-10
@@ -207,20 +207,20 @@ static inline void register_logger(private_bus_t *this, debug_t group,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the log level of the first registered logger that implements log or
|
||||
* vlog (or both).
|
||||
*/
|
||||
static bool find_max_levels(log_entry_t *entry, debug_t *group, level_t *level,
|
||||
level_t *vlevel)
|
||||
CALLBACK(find_max_levels, bool,
|
||||
log_entry_t *entry, va_list args)
|
||||
{
|
||||
level_t *level, *vlevel;
|
||||
debug_t group;
|
||||
|
||||
VA_ARGS_VGET(args, group, level, vlevel);
|
||||
if (entry->logger->log && *level == LEVEL_SILENT)
|
||||
{
|
||||
*level = entry->levels[*group];
|
||||
*level = entry->levels[group];
|
||||
}
|
||||
if (entry->logger->vlog && *vlevel == LEVEL_SILENT)
|
||||
{
|
||||
*vlevel = entry->levels[*group];
|
||||
*vlevel = entry->levels[group];
|
||||
}
|
||||
return *level > LEVEL_SILENT && *vlevel > LEVEL_SILENT;
|
||||
}
|
||||
@@ -258,8 +258,8 @@ static inline void unregister_logger(private_bus_t *this, logger_t *logger)
|
||||
|
||||
loggers = this->loggers[group];
|
||||
loggers->remove(loggers, found, NULL);
|
||||
loggers->find_first(loggers, (linked_list_match_t)find_max_levels,
|
||||
NULL, &group, &level, &vlevel);
|
||||
loggers->find_first(loggers, find_max_levels, NULL, group,
|
||||
&level, &vlevel);
|
||||
set_level(&this->max_level[group], level);
|
||||
set_level(&this->max_vlevel[group], vlevel);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user