From: Jeff King Date: Fri, 23 Oct 2015 11:20:19 GMT Subject: Re: [PATCH 2/2 jk/war-on-sprintf] compat/mingw.c: remove printf format warning Message-ID: <20151023112019.GB14996@sigill.intra.peff.net> In-Reply-To: <28a610a30ab9d4f742be2f3225db341ea40c8a51.1445579874.git.j6t@kdbg.org> On Fri, Oct 23, 2015 at 08:02:52AM +0200, Johannes Sixt wrote: > 5096d490 (convert trivial sprintf / strcpy calls to xsnprintf) converted > two sprintf calls. Now GCC warns that "format '%u' expects argument of > type 'unsigned int', but argument 4 has type 'long unsigned int'". > Instead of changing the format string, use a variable of type unsigned > in place of the typedef-ed type DWORD, which hides that it is actually an > unsigned long. > > There is no correctness issue with the old code because unsigned long and > unsigned are always of the same size on Windows, even in 64-bit builds. > > Signed-off-by: Johannes Sixt > --- > I do not know why there are no warnings with the old code. Apparently, the > system provided sprintf declaration does not have format-printf > annotation. Makes sense, and the patch looks obviously correct. -Peff