summaryrefslogtreecommitdiff
path: root/docs/scripts/find_missing_doc.pl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-04-07 10:15:11 +0000
committerGerald W. Carter <jerry@samba.org>2008-04-23 08:45:43 -0500
commit992f1e6b8f86b346fddd266b04d29cde69585633 (patch)
tree878573999a6831aa14cd6b8072263eb5d5910aa4 /docs/scripts/find_missing_doc.pl
parent65c0fd59203a3d9c4cb685e3a739f29f6f0c4fd6 (diff)
downloadsamba-992f1e6b8f86b346fddd266b04d29cde69585633.tar.gz
samba-992f1e6b8f86b346fddd266b04d29cde69585633.tar.bz2
samba-992f1e6b8f86b346fddd266b04d29cde69585633.zip
Add all the source files from the old CVS tree,
add the 5 missing chapters from the HOWTO and add jht's Samba by Example book. (This used to be commit 9fb5bcb93e57c5162b3ee6f9c7d777dc0269d100)
Diffstat (limited to 'docs/scripts/find_missing_doc.pl')
-rwxr-xr-xdocs/scripts/find_missing_doc.pl57
1 files changed, 57 insertions, 0 deletions
diff --git a/docs/scripts/find_missing_doc.pl b/docs/scripts/find_missing_doc.pl
new file mode 100755
index 0000000000..2875cf77b8
--- /dev/null
+++ b/docs/scripts/find_missing_doc.pl
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+
+my %doc;
+
+$topdir = (shift @ARGV) or $topdir = ".";
+
+##################################################
+# Reading links from manpage
+
+$curdir = $ENV{PWD};
+
+chdir($topdir."/docs/docbook/smbdotconf");
+
+open(IN,"xsltproc --xinclude --param smb.context ALL generate-context.xsl parameters.all.xml|");
+
+while(<IN>) {
+ if( /<listitem><para><link linkend="([^"]*)"><parameter moreinfo="none">([^<]*)<\/parameter><\/link><\/para><\/listitem>/g ){
+ $doc{$2} = $1;
+ }
+}
+
+close(IN);
+
+chdir($curdir);
+
+#################################################
+# Reading entries from source code
+
+
+open(SOURCE,"$topdir/source/param/loadparm.c") or die("Can't open $topdir/source/param/loadparm.c: $!");
+
+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 =~ /\s*\{\"(.*)\".*/;
+
+ if($doc{lc($1)}) {
+ $doc{lc($1)} = "FOUND";
+ } else {
+ print "$1 is not documented!\n";
+ }
+}
+close SOURCE;
+
+##################################################
+# Trying to find missing references
+
+foreach (keys %doc) {
+ if($doc{$_} cmp "FOUND") {
+ print "$_ is documented but is not a configuration option!\n";
+ }
+}