On Sat, Apr 28, 2007 at 01:11:01PM -0400, Dave Jones wrote:
> On Sat, Apr 28, 2007 at 11:11:36AM -0500, Matt Mackall wrote:
> > > I'm all ears for additional regexps, bug reports or other suggestions.
> >
> > Neat.
> >
> > Does it check for:
> >
> > functions marked extern?
> > pulling in external functions or variables without a header file?
> > return used as a function, eg return(foo);?
>
> These sound a little more tricky than just dumb regexps.
> I don't want to expand this to a fullblown C parser (given
> that we have sparse which can do a better job), but I don't
> object to adding some extra code to give the searches more
> context.
The first is a straightforward one-line regexp, as is the last:
^extern \w.*\w\(
return\s?\(
The middle one is a bit trickier. Basically, we don't want people
doing either:
extern int capital_of_assyria;
int sir_not_appearing_in_this_module();
in .c files. The first of those two is easy, provided you can figure
out the file type. And both are possible with multiline regexps.
This whole thing would be quite a bit more powerful if your search
function joined all the lines together, did a potentially multiline
search, then calculated the line numbers from the search results. Then
you could search for things like:
if (...)
{
if (...) {
single_statement;
}
Looking forward to fully-automated pedantry. This should probably live
in scripts/.
--
Mathematics is the supreme nostalgia of our time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]