summaryrefslogtreecommitdiff
path: root/source4/script
diff options
context:
space:
mode:
Diffstat (limited to 'source4/script')
-rwxr-xr-xsource4/script/find_missing_doc.pl90
-rwxr-xr-xsource4/script/find_unused_macros.pl20
2 files changed, 13 insertions, 97 deletions
diff --git a/source4/script/find_missing_doc.pl b/source4/script/find_missing_doc.pl
deleted file mode 100755
index b27a405e4d..0000000000
--- a/source4/script/find_missing_doc.pl
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/perl
-
-my $doc_file = "/docs/docbook/manpages/smb.conf.5.sgml";
-my $source_file = "/source/param/loadparm.c";
-
-my %link,%doc,%param;
-
-# This one shouldn't be documented at all
-$doc{-valid} = "FOUND";
-
-$topdir = (shift @ARGV) or $topdir = ".";
-
-##################################################
-# Reading links from manpage
-
-open(IN,$topdir.$doc_file);
-
-while(<IN>) {
- if( /<listitem><para><link linkend="([^"]*)"><parameter>([^<]*)<\/parameter><\/link><\/para><\/listitem>/g ){
- $link{$2} = $1;
- $ref{$1} = $2;
- }
-}
-
-close(IN);
-
-##################################################
-# Reading documentation from manpage
-
-open(IN,$topdir.$doc_file) || die("Can't open $topdir$doc_file");
-
-while(<IN>) {
- if( /<term><anchor id="([^"]*)"\/>([^<]*?)([ ]*)\(.\)([ ]*)<\/term>/g ) {
- $key = $1;
- $value = $2;
- $doc{$value} = $key;
-
- # There is a reference to this entry
- if($ref{$key} eq $value){
- $ref{$key} = "FOUND";
- } else {
- if($ref{$key}) {
- print "$key should refer to $value, but refers to " . $ref{$key} . "\n";
- } else {
- print "$key should refer to $value, but has no reference!\n";
- }
- $ref{$key} = $value;
- }
- }
-}
-
-close(IN);
-
-#################################################
-# Reading entries from source code
-
-open(SOURCE,$topdir.$source_file) || die("Can't open $topdir$source_file");
-
-while ($ln = <SOURCE>) {
- last if $ln =~ m/^static\ struct\ parm_struct\ parm_table.*/;
-} #burn through the preceding lines
-
-while ($ln = <SOURCE>) {
- last if $ln =~ m/^\s*\}\;\s*$/;
- #pull in the param names only
- next if $ln =~ m/.*P_SEPARATOR.*/;
- next unless $ln =~ /.*\"(.*)\".*/;
-
- if($doc{lc($1)}) {
- $doc{lc($1)} = "FOUND";
- } else {
- print "$1 is not documented!\n";
- }
-}
-close SOURCE;
-
-##################################################
-# Trying to find missing references
-
-foreach (keys %ref) {
- if($ref{$_} cmp "FOUND") {
- print "$_ references to " . $ref{$_} . ", but " . $ref{$_} . " isn't an anchor!\n";
- }
-}
-
-foreach (keys %doc) {
- if($doc{$_} cmp "FOUND") {
- print "$_ is documented but is not a configuration option!\n";
- }
-}
diff --git a/source4/script/find_unused_macros.pl b/source4/script/find_unused_macros.pl
index 5c04b1fd88..697afcd1a9 100755
--- a/source4/script/find_unused_macros.pl
+++ b/source4/script/find_unused_macros.pl
@@ -3,30 +3,36 @@
# it defines that are used nowhere in the code
# Arguments: C and H files
+# Copyright Jelmer Vernooij <jelmer@samba.org>, GPL
-my %defined,%used,%files;
+use strict;
-$in = shift;
+my %defined;
+my %used;
+my %files;
+my $tmp;
while($tmp = shift) {
$files{$tmp} = $tmp;
open(FI, $tmp);
+ my $ln = 0;
while(<FI>) {
- $line = $_;
- $cur = "";
+ $ln++;
+ my $line = $_;
+ my $cur = "";
if(/^#define ([A-Za-z0-9_]+)/) {
- $defined{$1} = $tmp;
+ $defined{$1} = "$tmp:$ln";
$cur = $1;
}
$_ = $line;
while(/([A-Za-z0-9_]+)/sgm) {
- if($cur cmp $1) { $used{$1} = $tmp; }
+ if($cur ne $1) { $used{$1} = "$tmp:$ln"; }
}
}
close FI;
}
foreach(keys %defined) {
- if(!$used{$_}) { print "$_\n"; }
+ if(!$used{$_}) { print "$defined{$_}: Macro `$_' is unused\n"; }
}