annotate devel/are-options-documented @ 249:f9da5a7caeda
refactored the cmdline argument processing
I replaced the nested switch statements with one single
large else-if construct. Instead of char comparision now
str(n)cmp(3) is used. Although this is slower it is much
more readable and covers corner-cases which were uncovered
before (e.g. -bdxxx).
As always: Readability and simplicity matter, not performance.
author |
markus schnalke <meillo@marmaro.de> |
date |
Thu, 04 Nov 2010 11:02:42 -0300 |
parents |
867bb186a829 |
children |
4905a1d9e6a7 |
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@140
|
19 diff -U 0 "$code" "$docs" | grep -v '^@@'
|
meillo@140
|
20
|
meillo@140
|
21 rm -f "$docs" "$code"
|