dovecot-2.0: doveadm: quota get/recalc are now two-word commands...
dovecot at dovecot.org
dovecot at dovecot.org
Fri Apr 30 17:51:03 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/40da334e2513
changeset: 11243:40da334e2513
user: Timo Sirainen <tss at iki.fi>
date: Fri Apr 30 17:51:00 2010 +0300
description:
doveadm: quota get/recalc are now two-word commands, so parameters come after them, not in the middle.
diffstat:
src/plugins/quota/doveadm-quota.c | 45 ++++++++++++++++-----------------------------
1 files changed, 16 insertions(+), 29 deletions(-)
diffs (75 lines):
diff -r 65e21dc80414 -r 40da334e2513 src/plugins/quota/doveadm-quota.c
--- a/src/plugins/quota/doveadm-quota.c Fri Apr 30 17:50:01 2010 +0300
+++ b/src/plugins/quota/doveadm-quota.c Fri Apr 30 17:51:00 2010 +0300
@@ -38,55 +38,42 @@
printf("\n");
}
-static void cmd_quota_get(struct mail_user *user, struct quota *quota)
+static void
+cmd_quota_get(struct mail_user *user, const char *const args[] ATTR_UNUSED)
{
+ struct quota_user *quser = QUOTA_USER_CONTEXT(user);
struct quota_root *const *root;
- array_foreach("a->roots, root)
+ array_foreach(&quser->quota->roots, root)
cmd_quota_get_root(user, *root);
}
-static void cmd_quota_recalc(struct quota *quota)
+static void
+cmd_quota_recalc(struct mail_user *user, const char *const args[] ATTR_UNUSED)
{
+ struct quota_user *quser = QUOTA_USER_CONTEXT(user);
struct quota_root *const *root;
struct quota_transaction_context trans;
memset(&trans, 0, sizeof(trans));
- trans.quota = quota;
+ trans.quota = quser->quota;
trans.recalculate = TRUE;
- array_foreach("a->roots, root)
+ array_foreach(&quser->quota->roots, root)
(void)(*root)->backend.v.update(*root, &trans);
}
-static void cmd_quota(struct mail_user *user, const char *const args[])
-{
- struct quota_user *quser = QUOTA_USER_CONTEXT(user);
- struct quota *quota;
- const char *subcmd = args[0];
-
- if (subcmd == NULL)
- doveadm_mail_help_name("quota");
-
- if (quser == NULL)
- i_fatal("User has no quota");
-
- quota = quser->quota;
- if (strcmp(subcmd, "get") == 0)
- cmd_quota_get(user, quota);
- else if (strcmp(subcmd, "recalc") == 0)
- cmd_quota_recalc(quota);
- else
- doveadm_mail_help_name("quota");
-}
-
-static struct doveadm_mail_cmd quota_cmd = {
- cmd_quota, "quota", "get|recalc"
+static struct doveadm_mail_cmd quota_commands[] = {
+ { cmd_quota_get, "quota get", "" },
+ { cmd_quota_recalc, "quota recalc", "" }
};
void doveadm_quota_plugin_init(struct module *module ATTR_UNUSED)
{
- doveadm_mail_register_cmd("a_cmd);
+ unsigned int i;
+
+ for (i = 0; i < N_ELEMENTS(quota_commands); i++)
+ doveadm_mail_register_cmd("a_commands[i]);
}
void doveadm_quota_plugin_deinit(void)
More information about the dovecot-cvs
mailing list