Skip to content

Commit

Permalink
lib: Fix filtering by event name in log_core_filter
Browse files Browse the repository at this point in the history
event->sending_name was already cleared by the time it was checked, so any
event:* filters never matched.
  • Loading branch information
sirainen authored and cmouse committed May 28, 2018
1 parent d3d19ed commit bd08690
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/lib/event-log.c
Expand Up @@ -158,8 +158,15 @@ event_logv_type(struct event *event, enum log_type log_type,
struct failure_context ctx = {
.type = log_type,
};

bool abort_after_event = FALSE;
int old_errno = errno;

if (global_core_log_filter != NULL &&
event_filter_match_source(global_core_log_filter, event,
event->source_filename,
event->source_linenum, &ctx))
abort_after_event = TRUE;

if (!event_get_log_prefix(event, log_prefix_str, &replace_prefix)) {
/* keep log prefix as it is */
event_vsend(event, &ctx, fmt, args);
Expand All @@ -172,10 +179,7 @@ event_logv_type(struct event *event, enum log_type log_type,
str_vprintfa(log_prefix_str, fmt, args);
event_send(event, &ctx, "%s", str_c(log_prefix_str));
}
if (global_core_log_filter != NULL &&
event_filter_match_source(global_core_log_filter, event,
event->source_filename,
event->source_linenum, &ctx))
if (abort_after_event)
abort();
errno = old_errno;
}
Expand Down

0 comments on commit bd08690

Please sign in to comment.