From 8f8a9f01909ba29e2b781310baeeaaddc3f15f0d Mon Sep 17 00:00:00 2001
From: "Gerald W. Carter" <jerry@samba.org>
Date: Tue, 22 Apr 2008 10:09:40 -0500
Subject: Moving docs tree to docs-xml to make room for generated docs in the
 release tarball. (This used to be commit
 9f672c26d63955f613088489c6efbdc08b5b2d14)

---
 docs-xml/scripts/find_missing_doc.pl | 57 ++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100755 docs-xml/scripts/find_missing_doc.pl

(limited to 'docs-xml/scripts/find_missing_doc.pl')

diff --git a/docs-xml/scripts/find_missing_doc.pl b/docs-xml/scripts/find_missing_doc.pl
new file mode 100755
index 0000000000..2b557b974d
--- /dev/null
+++ b/docs-xml/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("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/param/loadparm.c") or die("Can't open $topdir/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";
+	}
+}
-- 
cgit