diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-02-26 13:42:41 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-02-26 13:42:41 +0000 |
commit | f439e7de17824c8c22c6cbbd80ac78eb6877f2cd (patch) | |
tree | 8ef85bbcc6da98f378ea2d99ed27271204db0772 /doc/check-docs.sh | |
download | pies-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-x | doc/check-docs.sh | 74 |
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 |