[dpdk-dev] [PATCH] cmdline: fix warning for unused return value

Bruce Richardson bruce.richardson at intel.com
Fri Sep 8 11:01:16 CEST 2017


On Thu, Sep 07, 2017 at 09:46:18PM +0200, Olivier MATZ wrote:
> On Thu, Sep 07, 2017 at 10:50:20AM -0700, Stephen Hemminger wrote:
> > On Thu,  7 Sep 2017 14:09:23 +0100
> > Bruce Richardson <bruce.richardson at intel.com> 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 <bruce.richardson at intel.com>
> > > ---
> > >  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

Yep, and meson has the -Wunused-result flag on by default, and on Ubuntu
write is marked as needing the result check. I don't like disabling
warnings, so I'd rather fix it this way, for the sake of on extra line
of ugliness. Open to better options though (other than not using Ubuntu,
which is fine with me, but some others seem to object to that :-) )


More information about the dev mailing list