aboutsummaryrefslogtreecommitdiff
path: root/doc/check-docs.sh
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2008-02-26 13:42:41 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2008-02-26 13:42:41 +0000
commitf439e7de17824c8c22c6cbbd80ac78eb6877f2cd (patch)
tree8ef85bbcc6da98f378ea2d99ed27271204db0772 /doc/check-docs.sh
downloadpies-f439e7de17824c8c22c6cbbd80ac78eb6877f2cd.tar.gz
pies-f439e7de17824c8c22c6cbbd80ac78eb6877f2cd.tar.bz2
* pies/pies.c: New configuration statement "chdir".
* pies/progman.c (struct prog.v.p): New member `dir'. (register_prog): Initialize newp->v.p.dir; (prog_start): Change to the working directory, if required by config.
Diffstat (limited to 'doc/check-docs.sh')
-rwxr-xr-xdoc/check-docs.sh74
1 files changed, 74 insertions, 0 deletions
diff --git a/doc/check-docs.sh b/doc/check-docs.sh
new file mode 100755
index 0000000..c0b0487
--- /dev/null
+++ b/doc/check-docs.sh
@@ -0,0 +1,74 @@
+#! /bin/sh
+# This file is part of mailfrom filter.
+# Copyright (C) 2006, 2007 Sergey Poznyakoff
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+usage() {
+ cat <<EOT
+usage: $0 item code-sed doc-sed sources -- args...
+EOT
+}
+
+if [ $# -le 4 ]; then
+ usage
+ exit 2
+fi
+
+item=$1
+shift
+codesexp="$1"
+shift
+docsexp=$1
+shift
+
+source=
+while [ $# -ne 0 ]
+do
+ if [ "$1" = "--" ]; then
+ shift
+ break;
+ fi
+ source="$source $1"
+ shift
+done
+
+TEMPDIR=/tmp/mfck.$$
+mkdir $TEMPDIR || exit 1
+trap 'rm -rf $TEMPDIR' 1 2 13 15
+
+sed -n "$codesexp" $source | sort | uniq > $TEMPDIR/src
+$* | \
+ sed -n '/^@macro/,/^@end macro/d;'"$docsexp" \
+ | sort | uniq > $TEMPDIR/doc
+
+join -v1 $TEMPDIR/src $TEMPDIR/doc > $TEMPDIR/src-doc
+join -v2 $TEMPDIR/src $TEMPDIR/doc > $TEMPDIR/doc-src
+(if [ -s $TEMPDIR/src-doc ]; then
+ echo "Not documented $item:"
+ cat $TEMPDIR/src-doc
+ fi
+ if [ -s $TEMPDIR/doc-src ]; then
+ echo "Non-existing $item:"
+ cat $TEMPDIR/doc-src
+ fi) > $TEMPDIR/report
+
+if [ -s $TEMPDIR/report ]; then
+ cat $TEMPDIR/report
+ rm -rf $TEMPDIR
+ exit 1
+else
+ rm -rf $TEMPDIR
+ exit 0
+fi

Return to:

Send suggestions and report system problems to the System administrator.