From: Markus Valentin Date: Mon, 5 Dec 2022 10:50:30 +0000 (+0100) Subject: lib-event: Add event_unset_log_message_callback() X-Git-Tag: 2.3.20~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=594faf423e003e7742ab4837d6f98ff0d83ce205;p=thirdparty%2Fdovecot%2Fcore.git lib-event: Add event_unset_log_message_callback() --- diff --git a/src/lib/lib-event.c b/src/lib/lib-event.c index 87db436c84..864562d94b 100644 --- a/src/lib/lib-event.c +++ b/src/lib/lib-event.c @@ -684,6 +684,18 @@ event_set_log_message_callback(struct event *event, return event; } +#undef event_unset_log_message_callback +void event_unset_log_message_callback(struct event *event, + event_log_message_callback_t *callback, + void *context) +{ + i_assert(event->log_message_callback == callback); + i_assert(event->log_message_callback_context == context); + + event->log_message_callback = NULL; + event->log_message_callback_context = NULL; +} + struct event * event_set_name(struct event *event, const char *name) { diff --git a/src/lib/lib-event.h b/src/lib/lib-event.h index 74aafd72f9..2059501fb5 100644 --- a/src/lib/lib-event.h +++ b/src/lib/lib-event.h @@ -277,6 +277,14 @@ event_set_log_message_callback(struct event *event, const char *(*)(typeof(context), enum log_type, \ const char *))) +/* Unsets the event message amendment callback. */ +void event_unset_log_message_callback(struct event *event, + event_log_message_callback_t *callback, + void *context); +#define event_unset_log_message_callback(event, callback, context) \ + event_unset_log_message_callback(event, \ + (event_log_message_callback_t*)callback, context) + /* Set the event's name. The name is specific to a single sending of an event, and it'll be automatically cleared once the event is sent. This should typically be used only in a parameter to e_debug(), etc. */