Mercurial > dovecot > core-2.2
changeset 22932:ffa75273f796
doveadm-mail: Handle field conversion to short opt better
Convert non-string types as well
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Sat, 14 Apr 2018 14:31:44 +0300 |
parents | 31856a233751 |
children | d086a11030b7 |
files | src/doveadm/doveadm-mail.c |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail.c Tue Sep 13 15:01:56 2016 -0400 +++ b/src/doveadm/doveadm-mail.c Sat Apr 14 14:31:44 2018 +0300 @@ -1053,7 +1053,23 @@ const char *short_opt_str = p_strdup_printf( mctx->pool, "-%c", arg->short_opt); - optarg = (char*)arg->value.v_string; + switch(arg->type) { + case CMD_PARAM_BOOL: + optarg = NULL; + break; + case CMD_PARAM_INT64: + optarg = (char*)dec2str(arg->value.v_int64); + break; + case CMD_PARAM_IP: + optarg = (char*)net_ip2addr(&arg->value.v_ip); + break; + case CMD_PARAM_STR: + optarg = (char*)arg->value.v_string; + break; + default: + i_panic("Cannot convert parameter %s to short opt", + arg->name); + } mctx->v.parse_arg(mctx, arg->short_opt); array_append(&full_args, &short_opt_str, 1);