Mercurial > mplayer.hg
annotate TOOLS/checktree.sh @ 24326:ff2f302a176b
Replace short region code explanation by more detailed section.
author | diego |
---|---|
date | Wed, 05 Sep 2007 20:50:35 +0000 |
parents | 993062afb229 |
children | ac0406c340b3 |
rev | line source |
---|---|
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
1 #!/bin/sh |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
2 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
3 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
4 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
5 # Check source-tree for anomalies |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
6 # |
23940 | 7 # Copyright (C) 2005-2007 by Ivo van Poorten |
8 # | |
9 # This program is free software; you can redistribute it and/or modify | |
10 # it under the terms of the GNU General Public License as published by | |
11 # the Free Software Foundation; either version 2 of the License, or | |
12 # (at your option) any later version. | |
13 # | |
14 # This program is distributed in the hope that it will be useful, | |
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 # GNU General Public License for more details. | |
18 # | |
19 # You should have received a copy of the GNU General Public License | |
20 # along with this program; if not, write to the Free Software | |
21 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
22 # |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
23 # Thanks to Melchior Franz of the FlightGear project for the original idea |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
24 # of a source-tree checker and Torinthiel for the feedback along the way. |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
25 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
26 # $Id$ |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
27 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
28 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
29 |
23948 | 30 # All yes/no flags. Spaces around flagnames are important! |
31 | |
32 testflags=" spaces extensions crlf tabs trailws rcsid oll charset stupid gnu \ | |
33 res " | |
34 allflags="$testflags showcont color head svn " | |
35 | |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
36 # Default settings |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
37 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
38 _spaces=yes |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
39 _extensions=yes |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
40 _crlf=yes |
23235 | 41 _tabs=no |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
42 _trailws=no |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
43 _rcsid=no |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
44 _oll=no |
18087
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
45 _charset=no |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
46 _stupid=no |
17131
80d3fdcf58a8
option to show the lines containing anomalies, patch by Ivo van Poorten
wanderer
parents:
16405
diff
changeset
|
47 _showcont=no |
23927 | 48 _gnu=no |
23935 | 49 _res=no |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
50 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
51 _color=yes |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
52 _head=yes |
19077 | 53 _svn=yes |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
54 _files= |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
55 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
56 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
57 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
58 # Avoid locale problems |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
59 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
60 export LC_ALL=C |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
61 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
62 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
63 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
64 # Helper functions |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
65 |
23949 | 66 set_all_tests() { |
67 for i in $testflags ; do | |
68 eval _$i=$1 | |
69 done | |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
70 } |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
71 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
72 printoption() { |
23951
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
73 test -n "$3" && def=$3 || eval def=\$_$1 |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
74 echo " -(no)$1 $2 [default: $def]" |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
75 } |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
76 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
77 printhead() { |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
78 test "$_head" = "yes" && echo -e "$COLB$1$COLE" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
79 } |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
80 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
81 all_filenames() { |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
82 test "$_files" != "" && echo "$_files" && return |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
83 |
20204 | 84 if [ "$_svn" = "no" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
85 find . -type f \ |
19077 | 86 | grep -v "\.\#\|\~$\|\.depend\|\/\.svn\/\|config.mak\|^\./config\.h" \ |
19078
4361813f6cae
also omit configure.log and the generated help_mp.h from files to check
ivo
parents:
19077
diff
changeset
|
87 | grep -v "^\./version\.h\|\.o$\|\.a$\|configure.log\|^\./help_mp.h" |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
88 else |
22361
eec955510da7
do not rely on svn internals and use svn info instead
ivo
parents:
22359
diff
changeset
|
89 svn info -R | sed -n '/Path:/bb; :a; d; b; :b; s/Path: /.\//; h; :c; n; |
eec955510da7
do not rely on svn internals and use svn info instead
ivo
parents:
22359
diff
changeset
|
90 /Node Kind:/bd; bc; :d; /directory/ba; g; p;' |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
91 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
92 } |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
93 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
94 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
95 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
96 # Parse command line |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
97 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
98 for i in "$@"; do |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
99 case "$i" in |
22359
206b4600a956
also respond to --help, -h and -? command line options
ivo
parents:
22358
diff
changeset
|
100 -help|--help|-h|-\?) |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
101 echo -e "\n$0 [options] [files]\n" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
102 echo -e "options:\n" |
23951
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
103 printoption "spaces " "test for spaces in filenames" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
104 printoption "extensions" "test for uppercase extensions" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
105 printoption "crlf " "test for MSDOS line endings" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
106 printoption "tabs " "test for tab characters" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
107 printoption "trailws " "test for trailing whitespace" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
108 printoption "rcsid " "test for missing RCS Id's" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
109 printoption "oll " "test for overly long lines" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
110 printoption "charset " "test for wrong charset" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
111 printoption "stupid " "test for stupid code" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
112 printoption "gnu " "test for GNUisms" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
113 printoption "res " "test for reserved identifiers" |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
114 echo |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
115 printoption "all " "enable all tests" "no" |
22357 | 116 echo " (-noall can be specified as -none)" |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
117 echo |
23951
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
118 printoption "showcont " "show offending content of file(s)" |
17131
80d3fdcf58a8
option to show the lines containing anomalies, patch by Ivo van Poorten
wanderer
parents:
16405
diff
changeset
|
119 echo |
23951
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
120 printoption "color " "colored output" |
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
121 printoption "head " "print heading for each test" |
22509 | 122 printoption "svn " \ |
23951
993062afb229
Make the printoption function take the default values from the variable
ivo
parents:
23950
diff
changeset
|
123 "use svn info to determine which files to check" |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
124 echo -e "\nIf no files are specified, the whole tree is traversed." |
19077 | 125 echo -e "If there are, -(no)svn has no effect.\n" |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
126 exit |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
127 ;; |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
128 -all) |
23949 | 129 set_all_tests yes |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
130 ;; |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
131 -noall) |
23949 | 132 set_all_tests no |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
133 ;; |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
134 -none) |
23949 | 135 set_all_tests no |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
136 ;; |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
137 -*) |
23948 | 138 var=`echo X$i | sed 's/^X-//'` |
139 val=yes | |
140 case "$var" in | |
141 no*) | |
142 var=`echo "$var" | cut -c 3-` | |
143 val=no | |
144 ;; | |
145 esac | |
146 case "$allflags" in | |
147 *\ $var\ *) | |
148 eval _$var=$val | |
149 ;; | |
150 *) | |
23950 | 151 echo "unknown option: $i" >&2 |
152 exit 0 | |
153 ;; | |
23948 | 154 esac |
155 ;; | |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
156 *) |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
157 _files="$_files $i" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
158 ;; |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
159 esac |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
160 done |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
161 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
162 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
163 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
164 # Set heading color |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
165 |
20204 | 166 if [ "$_color" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
167 COLB="\e[36m" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
168 COLE="\e[m" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
169 else |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
170 COLB="" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
171 COLE="" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
172 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
173 |
19077 | 174 # Generate filelist once so -svn isn't _that_ much slower than -nosvn anymore |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
175 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
176 filelist=`all_filenames` |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
177 |
23935 | 178 if [ "$_stupid" = "yes" -o "$_res" = "yes" ] ; then |
179 # generate 'shortlist' to avoid false positives in xpm files, docs, etc, | |
180 # when one only needs to check .c and .h files | |
181 chfilelist=`echo $filelist | tr ' ' '\n' | grep "[\.][ch]$"` | |
182 fi | |
183 | |
20204 | 184 if [ "$_showcont" = "yes" ]; then |
18087
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
185 _diffopts="-u" |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
186 _grepopts="-n -I" |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
187 else |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
188 _diffopts="-q" |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
189 _grepopts="-l -I" |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
190 fi |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
191 |
23936 | 192 TAB=`echo " " | tr ' ' '\011'` |
193 | |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
194 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
195 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
196 # DO CHECKS |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
197 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
198 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
199 |
20204 | 200 if [ "$_spaces" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
201 printhead "checking for spaces in filenames ..." |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
202 find . | grep " " |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
203 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
204 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
205 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
206 |
20204 | 207 if [ "$_extensions" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
208 printhead "checking for uppercase extensions ..." |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
209 echo $filelist | grep "\.[[:upper:]]\+$" | grep -v "\.S$" |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
210 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
211 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
212 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
213 |
20204 | 214 if [ "$_crlf" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
215 printhead "checking for MSDOS line endings ..." |
19079 | 216 CR=`echo " " | tr ' ' '\015'` |
217 grep $_grepopts "$CR" $filelist | |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
218 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
219 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
220 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
221 |
23235 | 222 if [ "$_tabs" = "yes" ]; then |
223 printhead "checking for TAB characters ..." | |
224 grep $_grepopts "$TAB" $filelist | |
225 fi | |
226 | |
227 # ----------------------------------------------------------------------------- | |
228 | |
20204 | 229 if [ "$_trailws" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
230 printhead "checking for trailing whitespace ..." |
18087
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
231 grep $_grepopts "[[:space:]]\+$" $filelist |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
232 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
233 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
234 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
235 |
20204 | 236 if [ "$_rcsid" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
237 printhead "checking for missing RCS \$Id\$ or \$Revision\$ tags ..." |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
238 grep -L -I "\$\(Id\|Revision\)[[:print:]]\+\$" $filelist |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
239 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
240 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
241 # ----------------------------------------------------------------------------- |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
242 |
20204 | 243 if [ "$_oll" = "yes" ]; then |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
244 printhead "checking for overly long lines (over 79 characters) ..." |
18087
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
245 grep $_grepopts "^[[:print:]]\{80,\}$" $filelist |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
246 fi |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
247 |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
248 # ----------------------------------------------------------------------------- |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
249 |
23927 | 250 if [ "$_gnu" = "yes" ]; then |
251 printhead "checking for GNUisms ..." | |
252 grep $_grepopts "case.*\.\.\..*:" $filelist | |
253 fi | |
254 | |
255 # ----------------------------------------------------------------------------- | |
256 | |
23937
00d78036f96b
only test for stupid code and reserved identifiers if there are any .c or .h
ivo
parents:
23936
diff
changeset
|
257 if [ "$_res" = "yes" -a -n "$chfilelist" ]; then |
23935 | 258 printhead "checking for reserved identifiers ..." |
259 grep $_grepopts "#[ $TAB]*define[ $TAB]\+_[[:upper:]].*" $chfilelist | |
260 grep $_grepopts "#[ $TAB]*define[ $TAB]\+__.*" $chfilelist | |
261 fi | |
262 | |
263 # ----------------------------------------------------------------------------- | |
264 | |
20204 | 265 if [ "$_charset" = "yes" ]; then |
18087
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
266 printhead "checking bad charsets ..." |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
267 for I in $filelist ; do |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
268 case "$I" in |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
269 ./help/help_mp-*.h) |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
270 ;; |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
271 ./DOCS/*) |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
272 ;; |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
273 *.c|*.h) |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
274 iconv -c -f ascii -t ascii "$I" | diff $_diffopts "$I" - |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
275 ;; |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
276 esac |
edffd6f8a022
add check for non-ascii charsets used in code and simplify showcont switch handling
reimar
parents:
17131
diff
changeset
|
277 done |
16240
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
278 fi |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
279 |
d4cf25d45b13
Script to check (CVS) source-tree for anomalies, like MSDOS line endings etc..
ivo
parents:
diff
changeset
|
280 # ----------------------------------------------------------------------------- |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
281 |
23937
00d78036f96b
only test for stupid code and reserved identifiers if there are any .c or .h
ivo
parents:
23936
diff
changeset
|
282 if [ "$_stupid" = "yes" -a -n "$chfilelist" ]; then |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
283 printhead "checking for stupid code ..." |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
284 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
285 for i in calloc malloc realloc memalign av_malloc av_mallocz faad_malloc \ |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
286 lzo_malloc safe_malloc mpeg2_malloc _ogg_malloc; do |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
287 printhead "--> casting of void* $i()" |
23939 | 288 grep $_grepopts "([ $TAB]*[a-zA-Z_]\+[ $TAB]*\*.*)[ $TAB]*$i" \ |
289 $chfilelist | |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
290 done |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
291 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
292 for i in "" signed unsigned; do |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
293 printhead "--> usage of sizeof($i char)" |
23939 | 294 grep $_grepopts "sizeof[ $TAB]*([ $TAB]*$i[ $TAB]*char[ $TAB]*)" \ |
295 $chfilelist | |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
296 done |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
297 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
298 for i in int8_t uint8_t; do |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
299 printhead "--> usage of sizeof($i)" |
23938 | 300 grep $_grepopts "sizeof[ $TAB]*([ $TAB]*$i[ $TAB]*)" $chfilelist |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
301 done |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
302 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
303 printhead "--> usage of &&1" |
23938 | 304 grep $_grepopts "&&[ $TAB]*1" $chfilelist |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
305 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
306 printhead "--> usage of ||0" |
23938 | 307 grep $_grepopts "||[ $TAB]*0" $chfilelist |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
308 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
309 # added a-fA-F_ to eliminate some false positives |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
310 printhead "--> usage of *0" |
23939 | 311 grep $_grepopts "[a-zA-Z0-9)]\+[ $TAB]*\*[ $TAB]*0[^.0-9xa-fA-F_]" \ |
312 $chfilelist | |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
313 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
314 printhead "--> usage of *1" |
23939 | 315 grep $_grepopts "[a-zA-Z0-9)]\+[ $TAB]*\*[ $TAB]*1[^.0-9ea-fA-F_]" \ |
316 $chfilelist | |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
317 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
318 printhead "--> usage of +0" |
23939 | 319 grep $_grepopts "[a-zA-Z0-9)]\+[ $TAB]*+[ $TAB]*0[^.0-9xa-fA-F_]" \ |
320 $chfilelist | |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
321 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
322 printhead "--> usage of -0" |
23939 | 323 grep $_grepopts "[a-zA-Z0-9)]\+[ $TAB]*-[ $TAB]*0[^.0-9xa-fA-F_]" \ |
324 $chfilelist | |
19085
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
325 fi |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
326 |
e5ec659ec1c6
added checks for stupid code like casting return value of malloc and friends,
ivo
parents:
19083
diff
changeset
|
327 # ----------------------------------------------------------------------------- |