const char *key;
struct mail_attribute_value value;
bool empty_mailbox_name;
+ bool allow_empty_mailbox_name;
};
static int
mctx->empty_mailbox_name = mctx->mailbox[0] == '\0';
if (mctx->empty_mailbox_name) {
- if (!mctx->ctx.allow_empty_mailbox_name) {
+ if (!mctx->allow_empty_mailbox_name) {
i_error("Failed to %s: %s", op,
"mailbox name cannot be empty");
mctx->ctx.exit_code = EX_USAGE;
ctx->value.value = p_strdup(_ctx->pool, args[2]);
}
+static bool
+cmd_mailbox_metadata_parse_arg(struct doveadm_mail_cmd_context *_ctx, int c)
+{
+ struct metadata_cmd_context *ctx =
+ (struct metadata_cmd_context *)_ctx;
+
+ switch (c) {
+ case 's':
+ ctx->allow_empty_mailbox_name = TRUE;
+ break;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
static struct doveadm_mail_cmd_context *cmd_mailbox_metadata_set_alloc(void)
{
struct metadata_cmd_context *ctx;
ctx = doveadm_mail_cmd_alloc(struct metadata_cmd_context);
ctx->ctx.v.init = cmd_mailbox_metadata_set_init;
+ ctx->ctx.v.parse_arg = cmd_mailbox_metadata_parse_arg;
ctx->ctx.v.run = cmd_mailbox_metadata_set_run;
return &ctx->ctx;
}
ctx = doveadm_mail_cmd_alloc(struct metadata_cmd_context);
ctx->ctx.v.init = cmd_mailbox_metadata_unset_init;
+ ctx->ctx.v.parse_arg = cmd_mailbox_metadata_parse_arg;
ctx->ctx.v.run = cmd_mailbox_metadata_set_run;
return &ctx->ctx;
}
ctx = doveadm_mail_cmd_alloc(struct metadata_cmd_context);
ctx->ctx.v.init = cmd_mailbox_metadata_get_init;
+ ctx->ctx.v.parse_arg = cmd_mailbox_metadata_parse_arg;
ctx->ctx.v.run = cmd_mailbox_metadata_get_run;
doveadm_print_init(DOVEADM_PRINT_TYPE_FLOW);
return &ctx->ctx;
ctx = doveadm_mail_cmd_alloc(struct metadata_cmd_context);
ctx->ctx.v.init = cmd_mailbox_metadata_list_init;
+ ctx->ctx.v.parse_arg = cmd_mailbox_metadata_parse_arg;
ctx->ctx.v.run = cmd_mailbox_metadata_list_run;
doveadm_print_init(DOVEADM_PRINT_TYPE_FLOW);
return &ctx->ctx;
}
mctx->cmd_input = arg->value.v_istream;
i_stream_ref(mctx->cmd_input);
- } else if (strcmp(arg->name, "allow-empty-mailbox-name") == 0) {
- /* allow an empty mailbox name - to access server
- attributes */
- mctx->allow_empty_mailbox_name = arg->value.v_bool;
/* Keep all named special parameters above this line */