]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fs-api: fs_iter_init_with_event() - Initialize iter->event also if iter_init is not...
authorMarkus Valentin <markus.valentin@open-xchange.com>
Wed, 3 Apr 2024 10:53:08 +0000 (12:53 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 30 Apr 2024 10:12:29 +0000 (10:12 +0000)
src/lib-fs/fs-api.c

index af06ed6b3936e3799da0fa284923f63c018062a0..1506ce9c7d29b128aedadffd89d20cedf810ed78 100644 (file)
@@ -1243,17 +1243,17 @@ fs_iter_init_with_event(struct fs *fs, struct event *event,
        fs->stats.iter_count++;
        if (fs->set.enable_timing)
                i_gettimeofday(&now);
-       if (fs->v.iter_init == NULL) {
+       if (fs->v.iter_init == NULL)
                iter = i_new(struct fs_iter, 1);
-               iter->fs = fs;
-       } else T_BEGIN {
+       else
                iter = fs->v.iter_alloc();
-               iter->fs = fs;
+       iter->fs = fs;
+       iter->event = fs_create_event(fs, event);
+       event_set_ptr(iter->event, FS_EVENT_FIELD_FS, fs);
+       event_set_ptr(iter->event, FS_EVENT_FIELD_ITER, iter);
+       if (fs->v.iter_init != NULL) T_BEGIN {
                iter->flags = flags;
                iter->path = i_strdup(path);
-               iter->event = fs_create_event(fs, event);
-               event_set_ptr(iter->event, FS_EVENT_FIELD_FS, fs);
-               event_set_ptr(iter->event, FS_EVENT_FIELD_ITER, iter);
                fs->v.iter_init(iter, path, flags);
        } T_END;
        iter->start_time = now;