masqmail

annotate 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 7b70bf4f1f42
children
rev   line source
meillo@140 1 #!/bin/sh
meillo@140 2 #
meillo@140 3 # checks if all recognized options are documented
meillo@140 4 # run from masqmail's repository root dir
meillo@140 5 #
meillo@140 6 # Note: this script is far from perfect, but its development time to
meillo@140 7 # usage value ratio is quite good :-)
meillo@140 8
meillo@140 9 docs="/tmp/masqmail-opts-docs.$$"
meillo@140 10 code="/tmp/masqmail-opts-code.$$"
meillo@140 11
meillo@140 12 cat man/masqmail.*.5 | grep -o '^\\fB[^(\\]*\\f.' |
meillo@140 13 egrep -v 'OBSOLETE|http://' | sed 's,^\\fB,,; s,[\\ =].*,,' |
meillo@140 14 sort -u | grep -v '^val$' >"$docs"
meillo@140 15
meillo@140 16 cat src/conf.c | grep 'lval,.*"' |
meillo@140 17 sed 's,[^"]*",,; s,"\, [0-9]*,",; s,".*,,' | sort -u >"$code"
meillo@140 18
meillo@352 19 diff -U 0 "$code" "$docs" | grep -v '^@@' |
meillo@352 20 sed 's/^---.*/--- code/;s/^+++.*/+++ docs/'
meillo@140 21
meillo@140 22 rm -f "$docs" "$code"