Bug in 4.2 lint argument parser.
Peter Klosky
peter at rlgvax.UUCP
Fri Aug 24 07:52:22 AEST 1984
XXX
Here is a program file foo.c that calls pause() with three arguments;
no arguments are required, of course:
main(){ pause(1,2,3); }
The command "lint foo.c" reveals the fact that pause is called with
three arguments. This is due to a check against lint's set of
definitions of the standard C library.
The command "lint -I../includes foo.c" reveals no problems with the
program due to a bug in the argument parser that turns off checking
against the standard C library. The -I option should be passed to
the C preprocessor and have no other effect. The bug: the -I option
disables checking against the C library because it contains
the letter n. Had it contained the letter p, it would have switched
to checking against the portable C library definitions.
A glance at the driver SHELL in the lint directory shows that the
trouble is with the argument parser pattern matching. There are many
ways to fix the problem; if there is any interest we will post a
fix to the net. {allegra,seismo}!rlgvax!peter
--
Think snow!
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list