summaryrefslogtreecommitdiffstats
path: root/source3/script/find_missing_doc.pl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2002-08-19 14:55:06 +0000
committerJelmer Vernooij <jelmer@samba.org>2002-08-19 14:55:06 +0000
commit4c8b313a2378b1c1e7f46d7bf79542eedb20ff25 (patch)
tree57bb58f30caa013b444998962eb57058ac0c0500 /source3/script/find_missing_doc.pl
parent4b1baa5a70964e94ecc4733a9f8cd3f318c758ea (diff)
downloadsamba-4c8b313a2378b1c1e7f46d7bf79542eedb20ff25.tar.gz
samba-4c8b313a2378b1c1e7f46d7bf79542eedb20ff25.tar.xz
samba-4c8b313a2378b1c1e7f46d7bf79542eedb20ff25.zip
Add script to find undocumented smb.conf options
(This used to be commit 77152b4033f13abcdb86c7835f3112fa422a420d)
Diffstat (limited to 'source3/script/find_missing_doc.pl')
-rwxr-xr-xsource3/script/find_missing_doc.pl43
1 files changed, 43 insertions, 0 deletions
diff --git a/source3/script/find_missing_doc.pl b/source3/script/find_missing_doc.pl
new file mode 100755
index 0000000000..4d22e20a29
--- /dev/null
+++ b/source3/script/find_missing_doc.pl
@@ -0,0 +1,43 @@
+#!/usr/bin/perl -w
+
+#reads in the list of parameters from the source
+#compares this list to the list of parms documented in the docbook source
+#prints out the names of the parameters that are in need of documentation
+# (C) 2002 Bradley W. Langhorst" <brad@langhorst.com>
+
+my $doc_file = "./docs/docbook/manpages/smb.conf.5.sgml";
+my $source_file = "./source/param/loadparm.c";
+my $ln;
+my %params;
+
+open(SOURCE, "<$source_file") ||
+ die "Unable to open $source_file for input: $!\n";
+open(DOC, "<$doc_file") ||
+ die "Unable to open $doc_file for input: $!\n";
+
+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.*/;
+ $ln =~ m/.*\"(.*)\".*/;
+ $params{lc($1)}='not_found'; #not case sensitive
+}
+close SOURCE;
+#now read in the params list from the docs
+@doclines = <DOC>;
+
+foreach $ln (grep (/\<anchor\ id\=/, @doclines)) {
+ $ln =~ m/^.*\<anchor\ id\=\".*\"\>\s*(?:\<.*?\>)*\s*(.*?)(?:\s*\(?[S,G]?\)?\s*(\<\/term\>)?){1}\s*$/;
+ #print "got: $1 from: $ln";
+ if (exists $params{lc($1)}) {
+ $params{$1} = 'found';
+ }
+}
+
+foreach (keys %params) {
+ print "$_\n" if $params{$_} eq 'not_found';
+}