[U-Boot] [PATCH 2/3] Fix a few gcc warnings.

Scott Wood scottwood at freescale.com
Mon Apr 25 21:45:18 CEST 2011


On Mon, 25 Apr 2011 13:53:50 -0400
Mike Frysinger <vapier at gentoo.org> wrote:

> On Mon, Apr 25, 2011 at 13:45, Scott Wood wrote:
> > Why encourage bad habits?  Are there any instances of this in U-Boot where
> > conversion to puts() wouldn't be an improvement, especially given the lack
> > of an automatic newline in U-Boot's version?
> 
> that wasnt what i was saying.  my point is simply that changing
> printf(foo); to printf("%s", foo); simply to satisfy a gcc warning is
> wrong and unnecessarily bloats the compiled code.

My point was that the warning should stay, until such a time as it's
complaining about something that we actually want to do -- I've yet to see
an example cited so far that didn't have an easy non-"bloating" fix.

Even in a context such as U-Boot, IMHO format-string functions shouldn't be
used in such a way -- it may not be a security issue, but it's a potential
readability/maintainability issue when it may not be obvious from the other
context where the string is defined, that any embedded percent characters
must be doubled.  It's a different situation from where a string literal is
defined right in the context of the format-string function.

>  if you want to
> change it from printf(foo) to puts(foo), that's fine by me (and is
> actually what i suggested).

And after writing this, you sent a patch changing the warning options...

-Scott



More information about the U-Boot mailing list