view devel/are-options-documented @ 392:c5fd796ea06e

Heavy refactoring in parts of conf.c. init_conf() parse_boolean() parse_list_file() Re-arrangement of code. parse_address_glob_list() Removed unneccessary parameter. parse_list() parse_interface(): Use strtok()/strchr() instead of doing is all by hand. Removed limitation of fixed size buffer. eat_comments() Use a state machine. eat_line_trailing() eat_spaces() read_lval() Better structured code. read_conf() read_route() Removed magic numbers. Made all list type in the config files accept pathname entries, except for `permanent_routes' and `query_routes.' for which this is impossible.
author markus schnalke <meillo@marmaro.de>
date Sat, 18 Feb 2012 18:07:55 +0100
parents 4905a1d9e6a7
children
line wrap: on
line source

#!/bin/sh
#
# checks if all recognized options are documented
# run from masqmail's repository root dir
#
# Note: this script is far from perfect, but its development time to
#       usage value ratio is quite good :-)

docs="/tmp/masqmail-opts-docs.$$"
code="/tmp/masqmail-opts-code.$$"

cat man/masqmail.*.5 | grep -o '^\\fB[^(\\]*\\f.' |
    egrep -v 'OBSOLETE|http://' | sed 's,^\\fB,,; s,[\\ =].*,,' |
    sort -u | grep -v '^val$' >"$docs"

cat src/conf.c | grep 'lval,.*"' |
    sed 's,[^"]*",,; s,"\, [0-9]*,",; s,".*,,' | sort -u >"$code"

diff -U 0 "$code" "$docs" | grep -v '^@@' |
    sed 's/^---.*/--- code/;s/^+++.*/+++ docs/'

rm -f "$docs" "$code"