The unnecessary-if-before-free doesn't currently print line numbers, which is a little annoying. This patch fixes that with some rather hideous perl hacking. I should have known to let well enough alone rather than dredge up my long forgotten perl knowledge :-) Signed-off-by: Mark McLoughlin Index: libvirt/build-aux/find-unnecessary-if-before-free =================================================================== --- libvirt.orig/build-aux/find-unnecessary-if-before-free 2008-02-07 09:24:08.000000000 +0000 +++ libvirt/build-aux/find-unnecessary-if-before-free 2008-02-07 09:29:16.000000000 +0000 @@ -18,15 +18,20 @@ { open FH, '<', $file or die "$ME: can't open `$file' for reading: $!\n"; + my $i = 1; while (defined (my $line = )) { - if ($line =~ + my @matches = ($line =~ /\b(if\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\) - \s+(?:xmlXPathFreeContext|(?:sexpr_)?free)\s*\(\s*\2\s*\))/sx) + \s+(?:xmlXPathFreeContext|(?:sexpr_)?free)\s*\(\s*\2\s*\))/sx); + + if (@matches) { - print "$file: $1\n"; + my $j = $i + (my @a = split(/\n/, substr($line, 0, index($line, $matches[0])))) - 1; + print "$file:$j $1\n"; $found_match = 1; } + $i += (my @a = split(/\n/, $line)) - 1; } close FH; } --