From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl0-f68.google.com ([209.85.160.68]:32769 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750829AbeBTUIX (ORCPT ); Tue, 20 Feb 2018 15:08:23 -0500 Received: by mail-pl0-f68.google.com with SMTP id x18so2488978pln.0 for ; Tue, 20 Feb 2018 12:08:23 -0800 (PST) Date: Tue, 20 Feb 2018 12:08:21 -0800 From: Stephen Hemminger To: Serhey Popovych Cc: netdev@vger.kernel.org, dsahern@gmail.com Subject: Re: [PATCH iproute2-next 1/8] iplink: Return from function instead of calling exit() Message-ID: <20180220120821.61fe7d74@xeon-e3> In-Reply-To: <1519155598-22137-2-git-send-email-serhe.popovych@gmail.com> References: <1519155598-22137-1-git-send-email-serhe.popovych@gmail.com> <1519155598-22137-2-git-send-email-serhe.popovych@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 20 Feb 2018 21:39:51 +0200 Serhey Popovych wrote: > Signed-off-by: Serhey Popovych > --- > ip/iplink.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/ip/iplink.c b/ip/iplink.c > index 74c377c..a2c8108 100644 > --- a/ip/iplink.c > +++ b/ip/iplink.c > @@ -653,7 +653,7 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req, > NEXT_ARG(); > if (xdp_parse(&argc, &argv, req, dev_index, > generic, drv, offload)) > - exit(-1); > + return -1; > } else if (strcmp(*argv, "netns") == 0) { > NEXT_ARG(); > if (netns != -1) > @@ -972,12 +972,12 @@ static int iplink_modify(int cmd, unsigned int flags, int argc, char **argv) > if (!dev) { > fprintf(stderr, > "Not enough information: \"dev\" argument is required.\n"); > - exit(-1); > + return -1; > } > if (cmd == RTM_NEWLINK && index) { > fprintf(stderr, > "index can be used only when creating devices.\n"); > - exit(-1); > + return -1; > } > > req.i.ifi_index = ll_name_to_index(dev); > @@ -1392,7 +1392,7 @@ static int do_set(int argc, char **argv) > if (!dev) { > fprintf(stderr, > "Not enough of information: \"dev\" argument is required.\n"); > - exit(-1); > + return -1; > } > > if (newaddr || newbrd) { > @@ -1553,7 +1553,7 @@ static int iplink_afstats(int argc, char **argv) > fprintf(stderr, > "Command \"%s\" is unknown, try \"ip link help\".\n", > *argv); > - exit(-1); > + return -1; > } > > argv++; argc--; > @@ -1648,5 +1648,5 @@ int do_iplink(int argc, char **argv) > > fprintf(stderr, "Command \"%s\" is unknown, try \"ip link help\".\n", > *argv); > - exit(-1); > + return -1; > } Not sure I like this. If given bad input in batch it is better to stop and exit rather than continuing with more bad data.