This allows implementing the next changeset without kludging.
struct doveadm_cmd_ver2 doveadm_cmd_fetch_ver2 = {
.name = "fetch",
.mail_cmd = cmd_fetch_alloc,
- .usage = "<fields> <search query>",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<fields> <search query>",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "field", CMD_PARAM_ARRAY, 0)
struct doveadm_cmd_ver2 doveadm_cmd_index_ver2 = {
.name = "index",
- .usage = "[-q] [-n <max recent>] <mailbox mask>",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"[-q] [-n <max recent>] <mailbox mask>",
.mail_cmd = cmd_index_alloc,
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_set_ver2 = {
.name = "mailbox metadata set",
.mail_cmd = cmd_mailbox_metadata_set_alloc,
- .usage = "<mailbox> <key> <value>",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> <key> <value>",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "mailbox", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_unset_ver2 = {
.name = "mailbox metadata unset",
.mail_cmd = cmd_mailbox_metadata_unset_alloc,
- .usage = "<mailbox> <key>",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> <key>",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "mailbox", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_get_ver2 = {
.name = "mailbox metadata get",
.mail_cmd = cmd_mailbox_metadata_get_alloc,
- .usage = "<mailbox> <key>",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> <key>",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "mailbox", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_list_ver2 = {
.name = "mailbox metadata list",
.mail_cmd = cmd_mailbox_metadata_list_alloc,
- .usage = "<mailbox> [<key prefix>]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> [<key prefix>]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "key-prefix", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_status_ver2 = {
.name = "mailbox status",
.mail_cmd = cmd_mailbox_status_alloc,
- .usage = "<mailbox> [...]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> [...]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('t', "total-sum", CMD_PARAM_BOOL, 0)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_list_ver2 = {
.name = "mailbox list",
.mail_cmd = cmd_mailbox_list_alloc,
- .usage = "[-7|-8] [-s] [<mailbox mask> [...]]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"[-7|-8] [-s] [<mailbox mask> [...]]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('7', "mutf7", CMD_PARAM_BOOL, 0)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_create_ver2 = {
.name = "mailbox create",
.mail_cmd = cmd_mailbox_create_alloc,
- .usage = "[-s] [-g <guid>] <mailbox> [...]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"[-s] [-g <guid>] <mailbox> [...]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('s', "subscriptions", CMD_PARAM_BOOL, 0)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_delete_ver2 = {
.name = "mailbox delete",
.mail_cmd = cmd_mailbox_delete_alloc,
- .usage = "[-s] <mailbox> [...]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"[-s] <mailbox> [...]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('s', "subscriptions", CMD_PARAM_BOOL, 0)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_rename_ver2 = {
.name = "mailbox rename",
.mail_cmd = cmd_mailbox_rename_alloc,
- .usage = "[-s] <old name> <new name>",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"[-s] <old name> <new name>",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('s', "subscriptions", CMD_PARAM_BOOL, 0)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_subscribe_ver2 = {
.name = "mailbox subscribe",
.mail_cmd = cmd_mailbox_subscribe_alloc,
- .usage = "<mailbox> [...]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> [...]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "mailbox", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL)
struct doveadm_cmd_ver2 doveadm_cmd_mailbox_unsubscribe_ver2 = {
.name = "mailbox unsubscribe",
.mail_cmd = cmd_mailbox_unsubscribe_alloc,
- .usage = "<mailbox> [...]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"<mailbox> [...]",
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
DOVEADM_CMD_PARAM('\0', "mailbox", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL)
struct doveadm_cmd_ver2 doveadm_cmd_save_ver2 = {
.name = "save",
- .usage = "[-m mailbox]",
+ .usage = DOVEADM_CMD_MAIL_USAGE_PREFIX"[-m mailbox]",
.mail_cmd = cmd_save_alloc,
DOVEADM_CMD_PARAMS_START
DOVEADM_CMD_MAIL_COMMON
array_foreach(&doveadm_mail_cmds, cmd) {
if (cmd->usage_args == &doveadm_mail_cmd_hide)
continue;
- str_printfa(out, "%s\t[-u <user>|-A] [-S <socket_path>]",
- cmd->name);
+ str_printfa(out, "%s\t"DOVEADM_CMD_MAIL_USAGE_PREFIX, cmd->name);
if (cmd->usage_args != NULL)
- str_printfa(out, " %s", cmd->usage_args);
+ str_append(out, cmd->usage_args);
str_append_c(out, '\n');
}
}
void doveadm_mail_help(const struct doveadm_mail_cmd *cmd)
{
- fprintf(stderr, "doveadm %s [-u <user>|-A] [-S <socket_path>] %s\n",
+ fprintf(stderr, "doveadm %s "DOVEADM_CMD_MAIL_USAGE_PREFIX" %s\n",
cmd->name, cmd->usage_args == NULL ? "" : cmd->usage_args);
exit(EX_USAGE);
}
DOVEADM_CMD_PARAM('u', "user", CMD_PARAM_STR, 0) \
DOVEADM_CMD_PARAM('F', "user-file", CMD_PARAM_ISTREAM, 0)
+#define DOVEADM_CMD_MAIL_USAGE_PREFIX \
+ "[-u <user>|-A] [-S <socket_path>] "
+
#endif