From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NvVg3-0000Zt-N9 for qemu-devel@nongnu.org; Sat, 27 Mar 2010 09:03:47 -0400 Received: from [140.186.70.92] (port=42427 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NvVg2-0000YS-3H for qemu-devel@nongnu.org; Sat, 27 Mar 2010 09:03:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NvVfz-0004Zi-1E for qemu-devel@nongnu.org; Sat, 27 Mar 2010 09:03:45 -0400 Received: from hall.aurel32.net ([88.191.82.174]:40751) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvVfy-0004Za-NU for qemu-devel@nongnu.org; Sat, 27 Mar 2010 09:03:42 -0400 Date: Sat, 27 Mar 2010 14:03:41 +0100 From: Aurelien Jarno Subject: Re: [Qemu-devel] [PATCH 2/3] qemu-nbd: Fix invalid usage of the first argument of errx Message-ID: <20100327130341.GM15194@volta.aurel32.net> References: <1269066204-4376-1-git-send-email-ozaki.ryota@gmail.com> <1269066204-4376-2-git-send-email-ozaki.ryota@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1269066204-4376-2-git-send-email-ozaki.ryota@gmail.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ryota Ozaki Cc: qemu-devel@nongnu.org On Sat, Mar 20, 2010 at 03:23:23PM +0900, Ryota Ozaki wrote: > errx takes the exit status of a process as the first > argument. Passing errno to it is wrong. Instead the > patch lets errx take EXIT_FAILURE. Thanks, applied. > Signed-off-by: Ryota Ozaki > --- > qemu-nbd.c | 34 +++++++++++++++++----------------- > 1 files changed, 17 insertions(+), 17 deletions(-) > > diff --git a/qemu-nbd.c b/qemu-nbd.c > index b89c361..6d854d3 100644 > --- a/qemu-nbd.c > +++ b/qemu-nbd.c > @@ -114,7 +114,7 @@ static int find_partition(BlockDriverState *bs, int partition, > int ext_partnum = 4; > > if (bdrv_read(bs, 0, data, 1)) > - errx(EINVAL, "error while reading"); > + errx(EXIT_FAILURE, "error while reading"); > > if (data[510] != 0x55 || data[511] != 0xaa) { > errno = -EINVAL; > @@ -133,7 +133,7 @@ static int find_partition(BlockDriverState *bs, int partition, > int j; > > if (bdrv_read(bs, mbr[i].start_sector_abs, data1, 1)) > - errx(EINVAL, "error while reading"); > + errx(EXIT_FAILURE, "error while reading"); > > for (j = 0; j < 4; j++) { > read_partition(&data1[446 + 16 * j], &ext[j]); > @@ -240,20 +240,20 @@ int main(int argc, char **argv) > case 'p': > li = strtol(optarg, &end, 0); > if (*end) { > - errx(EINVAL, "Invalid port `%s'", optarg); > + errx(EXIT_FAILURE, "Invalid port `%s'", optarg); > } > if (li < 1 || li > 65535) { > - errx(EINVAL, "Port out of range `%s'", optarg); > + errx(EXIT_FAILURE, "Port out of range `%s'", optarg); > } > port = (uint16_t)li; > break; > case 'o': > dev_offset = strtoll (optarg, &end, 0); > if (*end) { > - errx(EINVAL, "Invalid offset `%s'", optarg); > + errx(EXIT_FAILURE, "Invalid offset `%s'", optarg); > } > if (dev_offset < 0) { > - errx(EINVAL, "Offset must be positive `%s'", optarg); > + errx(EXIT_FAILURE, "Offset must be positive `%s'", optarg); > } > break; > case 'r': > @@ -263,14 +263,14 @@ int main(int argc, char **argv) > case 'P': > partition = strtol(optarg, &end, 0); > if (*end) > - errx(EINVAL, "Invalid partition `%s'", optarg); > + errx(EXIT_FAILURE, "Invalid partition `%s'", optarg); > if (partition < 1 || partition > 8) > - errx(EINVAL, "Invalid partition %d", partition); > + errx(EXIT_FAILURE, "Invalid partition %d", partition); > break; > case 'k': > socket = optarg; > if (socket[0] != '/') > - errx(EINVAL, "socket path must be absolute\n"); > + errx(EXIT_FAILURE, "socket path must be absolute\n"); > break; > case 'd': > disconnect = true; > @@ -281,10 +281,10 @@ int main(int argc, char **argv) > case 'e': > shared = strtol(optarg, &end, 0); > if (*end) { > - errx(EINVAL, "Invalid shared device number '%s'", optarg); > + errx(EXIT_FAILURE, "Invalid shared device number '%s'", optarg); > } > if (shared < 1) { > - errx(EINVAL, "Shared device number must be greater than 0\n"); > + errx(EXIT_FAILURE, "Shared device number must be greater than 0\n"); > } > break; > case 't': > @@ -302,13 +302,13 @@ int main(int argc, char **argv) > exit(0); > break; > case '?': > - errx(EINVAL, "Try `%s --help' for more information.", > + errx(EXIT_FAILURE, "Try `%s --help' for more information.", > argv[0]); > } > } > > if ((argc - optind) != 1) { > - errx(EINVAL, "Invalid number of argument.\n" > + errx(EXIT_FAILURE, "Invalid number of argument.\n" > "Try `%s --help' for more information.", > argv[0]); > } > @@ -316,7 +316,7 @@ int main(int argc, char **argv) > if (disconnect) { > fd = open(argv[optind], O_RDWR); > if (fd == -1) > - errx(errno, "Cannot open %s", argv[optind]); > + errx(EXIT_FAILURE, "Cannot open %s", argv[optind]); > > nbd_disconnect(fd); > > @@ -340,7 +340,7 @@ int main(int argc, char **argv) > > if (partition != -1 && > find_partition(bs, partition, &dev_offset, &fd_size)) > - errx(errno, "Could not find partition %d", partition); > + errx(EXIT_FAILURE, "Could not find partition %d", partition); > > if (device) { > pid_t pid; > @@ -349,7 +349,7 @@ int main(int argc, char **argv) > if (!verbose) { > /* detach client and server */ > if (daemon(0, 0) == -1) { > - errx(errno, "Failed to daemonize"); > + errx(EXIT_FAILURE, "Failed to daemonize"); > } > } > > @@ -429,7 +429,7 @@ int main(int argc, char **argv) > > data = qemu_memalign(512, NBD_BUFFER_SIZE); > if (data == NULL) > - errx(ENOMEM, "Cannot allocate data buffer"); > + errx(EXIT_FAILURE, "Cannot allocate data buffer"); > > do { > > -- > 1.6.5.2 > > > > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net