On Sat, 18 Jun 2011 00:42:30 EDT, Ted Unangst wrote:

> lint does not understand the %m format, leading to false positives.  The 
> too few format args is one of the important ones, IMO, so we should try to 
> make it accurate.

That seems reasonable but I think you want to treat "%m" like "%%".
That way you can catch bogus modifiers of %m (none are supported).

 - todd

Index: lint2/chk.c
===================================================================
RCS file: /home/cvs/openbsd/src/usr.bin/xlint/lint2/chk.c,v
retrieving revision 1.20
diff -u -r1.20 chk.c
--- lint2/chk.c 31 May 2011 22:27:54 -0000      1.20
+++ lint2/chk.c 19 Jun 2011 00:54:39 -0000
@@ -798,7 +798,7 @@
                if (sz != NOTSPEC)
                        fc = *fp++;
 
-               if (fc == '%') {
+               if (fc == '%' || fc == 'm') {
                        if (sz != NOTSPEC || left || sign || space ||
                            alt || zero || prec || fwidth) {
                                badfmt(hte, call);

Reply via email to