From: Timo Sirainen Date: Tue, 7 Nov 2023 11:02:15 +0000 (+0200) Subject: lib-storage: mail_namespaces_init_finish() - Add user helper variable X-Git-Tag: 2.4.1~1301 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf80eed6eb98d3bd9799c6d8d9cb026a64992623;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: mail_namespaces_init_finish() - Add user helper variable --- diff --git a/src/lib-storage/mail-namespace.c b/src/lib-storage/mail-namespace.c index 0d4a4abedc..f1507df334 100644 --- a/src/lib-storage/mail-namespace.c +++ b/src/lib-storage/mail-namespace.c @@ -378,6 +378,7 @@ namespaces_check(struct mail_namespace *namespaces, const char **error_r) int mail_namespaces_init_finish(struct mail_namespace *namespaces, const char **error_r) { + struct mail_user *user = namespaces->user; struct mail_namespace *ns; bool prefixless_found = FALSE; @@ -388,32 +389,31 @@ int mail_namespaces_init_finish(struct mail_namespace *namespaces, prefixless_found = TRUE; } if (!prefixless_found) { - if (mail_namespaces_init_add(namespaces->user, + if (mail_namespaces_init_add(user, &prefixless_ns_set, &ns, error_r) < 0) i_unreached(); ns->next = namespaces; namespaces = ns; } - if (namespaces->user->autocreated) { + if (user->autocreated) { /* e.g. raw user - don't check namespaces' validity */ } else if (!namespaces_check(namespaces, error_r)) { - namespaces->user->error = - t_strconcat("namespace configuration error: ", - *error_r, NULL); + user->error = t_strconcat("namespace configuration error: ", + *error_r, NULL); } - if (namespaces->user->error == NULL) { - mail_user_add_namespace(namespaces->user, &namespaces); + if (user->error == NULL) { + mail_user_add_namespace(user, &namespaces); T_BEGIN { hook_mail_namespaces_created(namespaces); } T_END; } /* allow namespace hooks to return failure via the user error */ - if (namespaces->user->error != NULL) { - namespaces->user->namespaces = NULL; - *error_r = t_strdup(namespaces->user->error); + if (user->error != NULL) { + user->namespaces = NULL; + *error_r = t_strdup(user->error); while (namespaces != NULL) { ns = namespaces; namespaces = ns->next; @@ -422,7 +422,7 @@ int mail_namespaces_init_finish(struct mail_namespace *namespaces, return -1; } - namespaces->user->namespaces_created = TRUE; + user->namespaces_created = TRUE; return 0; }