.type = params->log_type,
};
bool abort_after_event = FALSE;
- int old_errno = errno;
i_assert(!params->no_send || params->base_str_out != NULL);
}
if (abort_after_event)
abort();
- errno = old_errno;
}
void event_logv(struct event *event, const struct event_log_params *params,
{
const char *orig_source_filename = event->source_filename;
unsigned int orig_source_linenum = event->source_linenum;
+ int old_errno = errno;
if (params->source_filename != NULL) {
event_set_source(event, params->source_filename,
event_set_source(event, orig_source_filename,
orig_source_linenum, TRUE);
event_unref(&event);
+ errno = old_errno;
}
struct event *event_set_forced_debug(struct event *event, bool force)
struct event *event = event_create(NULL);
event_set_min_log_level(event, LOG_TYPE_WARNING);
+ errno = EACCES;
e_info(event, "Info event");
test_assert(test_output == NULL);
e_warning(event, "Warning event");
i_set_info_handler(orig_info);
i_set_error_handler(orig_error);
i_free(test_output);
+ test_assert(errno == EACCES);
test_end();
}