From: Timo Sirainen Date: Tue, 7 Feb 2017 19:07:54 +0000 (+0200) Subject: quota: Clarify quota_count() return value. X-Git-Tag: 2.3.0.rc1~2155 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92c671c1667ea1bea90030a2b69298bf8c541623;p=thirdparty%2Fdovecot%2Fcore.git quota: Clarify quota_count() return value. --- diff --git a/src/plugins/quota/quota-count.c b/src/plugins/quota/quota-count.c index 61681d9d5d..64691bb1db 100644 --- a/src/plugins/quota/quota-count.c +++ b/src/plugins/quota/quota-count.c @@ -60,7 +60,7 @@ quota_count_mailbox(struct quota_root *root, struct mail_namespace *ns, ret = 0; } } else { - ret = 1; + ret = 0; *bytes += root->quota->set->vsizes ? metadata.virtual_size : metadata.physical_size; *count += status.messages; @@ -147,7 +147,7 @@ int quota_count(struct quota_root *root, uint64_t *bytes_r, uint64_t *count_r) { struct quota_mailbox_iter *iter; const struct mailbox_info *info; - int ret = 0, ret2; + int ret = 1; *bytes_r = *count_r = 0; if (root->recounting) @@ -156,11 +156,8 @@ int quota_count(struct quota_root *root, uint64_t *bytes_r, uint64_t *count_r) iter = quota_mailbox_iter_begin(root); while ((info = quota_mailbox_iter_next(iter)) != NULL) { - ret2 = quota_count_mailbox(root, info->ns, info->vname, - bytes_r, count_r); - if (ret2 > 0) - ret = 1; - else if (ret2 < 0) { + if (quota_count_mailbox(root, info->ns, info->vname, + bytes_r, count_r) < 0) { ret = -1; break; } diff --git a/src/plugins/quota/quota-private.h b/src/plugins/quota/quota-private.h index 01eb5eb888..2b1b9e4059 100644 --- a/src/plugins/quota/quota-private.h +++ b/src/plugins/quota/quota-private.h @@ -202,6 +202,8 @@ quota_root_rule_find(struct quota_root_settings *root_set, const char *name); void quota_root_recalculate_relative_rules(struct quota_root_settings *root_set, int64_t bytes_limit, int64_t count_limit); +/* Returns 1 if values were returned successfully, 0 if we're recursing into + the same function, -1 if error. */ int quota_count(struct quota_root *root, uint64_t *bytes_r, uint64_t *count_r); int quota_root_parse_grace(struct quota_root_settings *root_set,