
On 08/27/2014 07:39 AM, Martin Kletzander wrote:
On Wed, Aug 27, 2014 at 03:15:35PM +0200, Erik Skultety wrote:
resolves https://bugzilla.redhat.com/show_bug.cgi?id=1132305 --- tools/virsh.c | 14 ++++++++++---- tools/virsh.pod | 6 ++++-- 2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c index 30a84c1..f9b3991 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -3472,8 +3472,11 @@ vshParseArgv(vshControl *ctl, int argc, char **argv) case 'k': if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0 || keepalive < 0) { - vshError(ctl, _("option %s requires a positive numeric argument"), - longindex == -1 ? "-k" : "--keepalive-interval"); + vshError(ctl, + _("option %s requires a positive integer argument " + "within range <0,%d>"), + longindex == -1 ? "-k" : "--keepalive-interval", + INT_MAX);
There is no reasonable use for any interval greater than, let's say, 100 seconds (and that's already pretty extreme). INT_MAX seconds is too much and reporting it may even confuse users. Imagine that we would have to report the limits for *all* options. Why not just do 2 conditions:
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 numeric argument"), longindex == -1 ? "-k" : "--keepalive-interval"); exit(EXIT_FAILURE); }
I like this better.
+++ b/tools/virsh.pod @@ -77,13 +77,15 @@ given instead. =item B<-k>, B<--keepalive-interval> I<INTERVAL>
Set an I<INTERVAL> (in seconds) for sending keepalive messages to -check whether connection to the server is still alive. Setting the +check whether connection to the server is still alive. I<INTERVAL> +must be an integer value within range <0,INT_MAX>. Setting the
Same here, check another options that take "normal numbers", we don't say that it needs to be between 0 and LLONG_MAX for example.
interval to 0 disables client keepalive mechanism.
I think we can just drop the virsh.pod hunks; they aren't adding any useful information (I think the quoted BZ is asking for too much, merely because of the initial confusion on negative values). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org