On 10/26/2015 04:06 PM, John Snow wrote: > Signed-off-by: John Snow <[email protected]> > --- > 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 <[email protected]>
> @@ -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
