# HG changeset patch # User Timo Sirainen # Date 1455892560 -7200 # Node ID d5a022d714ead0b0443bc21f16c88bbe04218aaa # Parent 3432ea258fe9b327250cde2f37127395b8a29eda doveadm: Use char type for short options instead of a string. The ":" = "has parameters" can be determined from the type. Also removed "?" checks since it wasn't actually used. diff -r 3432ea258fe9 -r d5a022d714ea src/doveadm/doveadm-cmd.c --- a/src/doveadm/doveadm-cmd.c Fri Feb 19 16:34:53 2016 +0200 +++ b/src/doveadm/doveadm-cmd.c Fri Feb 19 16:36:00 2016 +0200 @@ -250,9 +250,8 @@ i_assert(array_count(argv) == 0); array_append(argv, &name, 1); for(i=0;iservice_flags |= MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP; wildcard_user = "*"; ctx->users_list_input = argv[i].value.v_istream; - } else if (ctx->v.parse_arg != NULL && argv[i].opt != NULL && - *(argv[i]).opt != '?' && *(argv[i]).opt != ':') { + } else if (ctx->v.parse_arg != NULL && argv[i].short_opt != '\0') { optarg = (char*)argv[i].value.v_string; - ctx->v.parse_arg(ctx, *(argv[i].opt)); + ctx->v.parse_arg(ctx, argv[i].short_opt); } else if ((argv[i].flags & CMD_PARAM_FLAG_POSITIONAL) != 0) { /* feed this into pargv */ if (argv[i].type == CMD_PARAM_ARRAY) diff -r 3432ea258fe9 -r d5a022d714ea src/doveadm/doveadm-mail.h --- a/src/doveadm/doveadm-mail.h Fri Feb 19 16:34:53 2016 +0200 +++ b/src/doveadm/doveadm-mail.h Fri Feb 19 16:36:00 2016 +0200 @@ -197,9 +197,9 @@ extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_unsubscribe_ver2; #define DOVEADM_CMD_MAIL_COMMON \ -DOVEADM_CMD_PARAM("A", "all-users", CMD_PARAM_BOOL, 0) \ -DOVEADM_CMD_PARAM("S:", "socket-path", CMD_PARAM_STR, 0) \ -DOVEADM_CMD_PARAM("u:", "user", CMD_PARAM_STR, 0) \ -DOVEADM_CMD_PARAM("F:", "user-file", CMD_PARAM_ISTREAM, 0) +DOVEADM_CMD_PARAM('A', "all-users", CMD_PARAM_BOOL, 0) \ +DOVEADM_CMD_PARAM('S', "socket-path", CMD_PARAM_STR, 0) \ +DOVEADM_CMD_PARAM('u', "user", CMD_PARAM_STR, 0) \ +DOVEADM_CMD_PARAM('F', "user-file", CMD_PARAM_ISTREAM, 0) #endif