On 10/26/2015 06:54 PM, Eric Blake wrote: > 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? >
Yes.