From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier MATZ Subject: Re: [PATCH] cmdline: fix warning for unused return value Date: Thu, 7 Sep 2017 21:46:18 +0200 Message-ID: <20170907194617.igcohinh53imc3mk@neon> References: <20170907130923.157924-1-bruce.richardson@intel.com> <20170907105020.62f8eb79@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Bruce Richardson , dev@dpdk.org To: Stephen Hemminger Return-path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id C5B40F94 for ; Thu, 7 Sep 2017 21:46:27 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20170907105020.62f8eb79@xeon-e3> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Sep 07, 2017 at 10:50:20AM -0700, Stephen Hemminger wrote: > On Thu, 7 Sep 2017 14:09:23 +0100 > Bruce Richardson wrote: > > > When DPDK is compiled on Ubuntu with extra warnings turned on, there is a > > warning about the return value from write() being unchecked. Rather than > > having builds disable the warning, which may mask other cases we do care > > about, we can add a dummy use of the return value in the code to silence it > > in this instance. > > > > Signed-off-by: Bruce Richardson > > --- > > lib/librte_cmdline/cmdline.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c > > index a9c47be..d749165 100644 > > --- a/lib/librte_cmdline/cmdline.c > > +++ b/lib/librte_cmdline/cmdline.c > > @@ -205,7 +205,8 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...) > > } > > if (ret >= BUFSIZ) > > ret = BUFSIZ - 1; > > - write(cl->s_out, buf, ret); > > + ret = write(cl->s_out, buf, ret); > > + (void)ret; > > That is an ugly way to fix the warning. > If write fails, the user has probably logged out. Here, we are writing on stdout. I don't think it's worst than calling printf() without checking the return value. By the way, it looks strange to this code is compiled, because -D _GNU_SOURCE is passed to the compiler, and the code is: #ifdef _GNU_SOURCE ... #else ... write() #endif It does not mean we shouldn't fix it, but maybe it hides something else. Bruce, I bet you are testing your new build framework? Olivier