From: Markus Valentin Date: Wed, 3 Apr 2024 10:53:08 +0000 (+0200) Subject: fs-api: fs_iter_init_with_event() - Initialize iter->event also if iter_init is not... X-Git-Tag: 2.4.0~1682 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dafe987617bb5bec60972b8477b1442437a6c3f2;p=thirdparty%2Fdovecot%2Fcore.git fs-api: fs_iter_init_with_event() - Initialize iter->event also if iter_init is not implemented --- diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c index af06ed6b39..1506ce9c7d 100644 --- a/src/lib-fs/fs-api.c +++ b/src/lib-fs/fs-api.c @@ -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;