From: Erik Skultety Date: Wed, 27 Aug 2014 14:20:29 +0000 (+0200) Subject: virsh: fix keepalive error msg X-Git-Tag: v1.2.8-rc2~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f284ee54bad3fc7e229a61228387d0c3d5172d61;p=thirdparty%2Flibvirt.git virsh: fix keepalive error msg resolves https://bugzilla.redhat.com/show_bug.cgi?id=1132305: The error message for an out-of-range argument was confusing: virsh -k 9999999999 error: option --k requires a positive numeric argument After this patch, it is: error: Invalid value for option -k Signed-off-by: Eric Blake --- diff --git a/tools/virsh.c b/tools/virsh.c index 30a84c1591..713c9a5fb6 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -3470,18 +3470,32 @@ vshParseArgv(vshControl *ctl, int argc, char **argv) exit(EXIT_SUCCESS); break; case 'k': - if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0 || - keepalive < 0) { - vshError(ctl, _("option %s requires a positive numeric argument"), + if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0) { + vshError(ctl, + _("Invalid value for option %s"), + longindex == -1 ? "-k" : "--keepalive-interval"); + exit(EXIT_FAILURE); + } + + if (keepalive < 0) { + vshError(ctl, + _("option %s requires a positive integer argument"), longindex == -1 ? "-k" : "--keepalive-interval"); exit(EXIT_FAILURE); } ctl->keepalive_interval = keepalive; break; case 'K': - if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0 || - keepalive < 0) { - vshError(ctl, _("option %s requires a positive numeric argument"), + if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0) { + vshError(ctl, + _("Invalid value for option %s"), + longindex == -1 ? "-K" : "--keepalive-count"); + exit(EXIT_FAILURE); + } + + if (keepalive < 0) { + vshError(ctl, + _("option %s requires a positive integer argument"), longindex == -1 ? "-K" : "--keepalive-count"); exit(EXIT_FAILURE); }