1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/source4/script/find_unused_macros.pl
Jelmer Vernooij a80e0cb4c2 r7891: Improve output of unused macro find script
Remove duplicate find-missing-doc script (already in samba-docs repository)
(This used to be commit aa5ade4342)
2007-10-10 13:18:46 -05:00

39 lines
700 B
Perl
Executable File

#!/usr/bin/perl
# Script that reads in configure and outputs the names of all the defines
# it defines that are used nowhere in the code
# Arguments: C and H files
# Copyright Jelmer Vernooij <jelmer@samba.org>, GPL
use strict;
my %defined;
my %used;
my %files;
my $tmp;
while($tmp = shift) {
$files{$tmp} = $tmp;
open(FI, $tmp);
my $ln = 0;
while(<FI>) {
$ln++;
my $line = $_;
my $cur = "";
if(/^#define ([A-Za-z0-9_]+)/) {
$defined{$1} = "$tmp:$ln";
$cur = $1;
}
$_ = $line;
while(/([A-Za-z0-9_]+)/sgm) {
if($cur ne $1) { $used{$1} = "$tmp:$ln"; }
}
}
close FI;
}
foreach(keys %defined) {
if(!$used{$_}) { print "$defined{$_}: Macro `$_' is unused\n"; }
}