On Wed, Nov 30, 2016 at 12:40:25PM -0800, Junio C Hamano wrote: > Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxxx> writes: > > > [I have fixed my config.mak file now, so I don't see the warning > > anymore! Having -Wno-format-zero-length in DEVELOPER_CFLAGS, or > > not, is a separate matter.] > > I suspect that 658df95a4a ("add DEVELOPER makefile knob to check for > acknowledged warnings", 2016-02-25) took it from me (namely, Make > script in my 'todo' branch). In turn, I added it to my set of flags > in order to squelch this exact warning, so... For anybody interested in the history, we started using this when status_printf() got the format attribute. Relevant patch and discussion: http://public-inbox.org/git/20130710002328.GC19423@xxxxxxxxxxxxxxxxxxxxx/T/#u We went with disabling the warning because it really is wrong. It makes an assumption that calling a format function with an empty string doesn't do anything, but that's only true of the stock printf functions. Our custom functions _do_ have a side effect in this case. The other options are to have a special function for "print a warning (or status) line with no content". Or to teach those functions to handle newlines specially. We've often discussed that you should be able to do: warning("foo\nbar"); and have it print: warning: foo warning: bar That's useful in itself, and would probably make cases like this easier to handle, too. But it's a pretty big change. Another option would be to just teach formatting functions to handle a single "\n" as a synonym for the empty string (or even detect trailing newlines and avoid appending our own in that case). That would mean you could do: warning("\n"); to print a blank line. That's arguably more obvious about the intent to a reader (I say arguably because the new behavior _is_ subtle if you happen to know that warning() usually appends a newline). Anyway. Those are all options, but I don't think there is any problem with sticking with warning("") for now. It is not the first part of the code that tickles the format-zero-length warning. -Peff