]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-event: Add event_unset_log_message_callback()
authorMarkus Valentin <markus.valentin@open-xchange.com>
Mon, 5 Dec 2022 10:50:30 +0000 (11:50 +0100)
committerMarkus Valentin <markus.valentin@open-xchange.com>
Mon, 12 Dec 2022 13:25:59 +0000 (14:25 +0100)
src/lib/lib-event.c
src/lib/lib-event.h

index 87db436c84672fdcffb2eb678b7f1194b71b226a..864562d94b3a61231da44d46fa5d8e276047e272 100644 (file)
@@ -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)
 {
index 74aafd72f9618e119152a52673bbe72bb74fbc28..2059501fb58489f1a5a8744c7d98499b73959859 100644 (file)
@@ -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. */