{
struct quota_rule *rule;
int64_t bytes_limit, count_limit;
- bool found;
+ bool enabled;
if (!root->set->force_default_rule) {
if (root->backend.v.init_limits != NULL) {
bytes_limit = root->bytes_limit;
count_limit = root->count_limit;
- /* if default rule limits are 0, this rule applies only to specific
- mailboxes */
- found = bytes_limit != 0 || count_limit != 0;
+ /* if default rule limits are 0, user has unlimited quota.
+ ignore any specific quota rules */
+ enabled = bytes_limit != 0 || count_limit != 0;
- rule = quota_root_rule_find(root->set, mailbox_name);
+ rule = enabled ? quota_root_rule_find(root->set, mailbox_name) : NULL;
if (rule != NULL) {
if (!rule->ignore) {
bytes_limit += rule->bytes_limit;
bytes_limit = 0;
count_limit = 0;
}
- found = TRUE;
}
*bytes_limit_r = bytes_limit <= 0 ? 0 : bytes_limit;
*count_limit_r = count_limit <= 0 ? 0 : count_limit;
- return found ? 1 : 0;
+ return enabled ? 1 : 0;
}
void quota_add_user_namespace(struct quota *quota, struct mail_namespace *ns)