From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41613) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zqqf6-0006Hv-Oo for qemu-devel@nongnu.org; Mon, 26 Oct 2015 18:54:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zqqf5-00020T-Lu for qemu-devel@nongnu.org; Mon, 26 Oct 2015 18:54:44 -0400 References: <1445897165-4842-1-git-send-email-jsnow@redhat.com> <1445897165-4842-4-git-send-email-jsnow@redhat.com> <562EAF0C.2020604@redhat.com> From: John Snow Message-ID: <562EAF30.5070405@redhat.com> Date: Mon, 26 Oct 2015 18:54:40 -0400 MIME-Version: 1.0 In-Reply-To: <562EAF0C.2020604@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/3] qemu-io: Correct error messages List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , qemu-block@nongnu.org Cc: kwolf@redhat.com, qemu-devel@nongnu.org, mreitz@redhat.com 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 >> --- >> 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 > >> @@ -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.