On 10/26/2015 04:06 PM, John Snow wrote: > Signed-off-by: John Snow <js...@redhat.com> > --- > qemu-io-cmds.c | 58 > +++++++++++++++++++++++++++++++++++++--------------------- > 1 file changed, 37 insertions(+), 21 deletions(-) > > diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c > index e2477fc..92c6b87 100644 > --- a/qemu-io-cmds.c > +++ b/qemu-io-cmds.c > @@ -146,6 +146,21 @@ static int64_t cvtnum(const char *s) > return ret; > } > > +static void print_cvtnum_err(int64_t rc, const char *arg) > +{ > + switch (rc) { > + case -EINVAL: > + printf("Parsing error: non-numeric argument," > + " or extraneous/unrecognized suffix -- %s\n", arg);
s/ --/:/ > + break; > + case -ERANGE: > + printf("Parsing error: argument too large -- %s\n", arg); > + break; > + default: > + printf("Parsing error -- %s\n", arg); Twice more. With that change, Reviewed-by: Eric Blake <ebl...@redhat.com> > @@ -2199,10 +2214,11 @@ static int sigraise_f(BlockBackend *blk, int argc, > char **argv) > { > int64_t sig = cvtnum(argv[1]); > if (sig < 0) { > - printf("non-numeric signal number argument -- %s\n", argv[1]); > + print_cvtnum_err(sig, argv[1]); > return 0; > - } else if (sig > INT_MAX) { > - printf("signal argument '%s' is too large\n", argv[1]); > + } else if (sig > NSIG) { > + printf("signal argument '%s' is too large to be a valid signal\n", > + argv[1]); Should the comparison against NSIG rather than INT_MAX be squashed into patch 1? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature