From f284ee54bad3fc7e229a61228387d0c3d5172d61 Mon Sep 17 00:00:00 2001 From: Erik Skultety Date: Wed, 27 Aug 2014 16:20:29 +0200 Subject: [PATCH] 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 --- tools/virsh.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 30a84c159..713c9a5fb 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); } -- 2.39.5