Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Deaddy | 7583167 | 2018-12-28 11:23:24 +0100 | [diff] [blame] | 3 | CHECKERHOME=$(pwd) |
Deaddy | 334b376 | 2018-12-30 11:48:13 +0100 | [diff] [blame] | 4 | case $(uname -s) in |
| 5 | Darwin*) CHECKERLIB=$(dirname $(readlink $0));; |
| 6 | *) CHECKERLIB=$(dirname $(readlink -e $0));; |
| 7 | esac |
Deaddy | 7583167 | 2018-12-28 11:23:24 +0100 | [diff] [blame] | 8 | # auf Mac muss man ggf. $CHECKERLIB manuell zu dem Ordner setzen, in dem die |
| 9 | # Listen der zu testenden Funktionen liegen, wenn man noch irgendwie mit |
| 10 | # symlinks rumfummelt, weil Mac das nicht standardkompliant kann. ;-) |
| 11 | CODEFILES="${CHECKERHOME}/CODEFILES" |
| 12 | HEADERFILES="${CHECKERHOME}/HEADERFILES" |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 13 | #export LPCFILES="${HEADERFILES} ${CODEFILES}" |
Deaddy | 7583167 | 2018-12-28 11:23:24 +0100 | [diff] [blame] | 14 | LPCFILES="${CHECKERHOME}/LPCFILES" |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 15 | # wenn $MUDLIB bereits als Umgebungsvariable existiert, muss man das nicht |
| 16 | # ueberschreiben |
| 17 | [[-z $MUDLIB]] && MUDLIB="../mudlib" |
Deaddy | 7583167 | 2018-12-28 11:23:24 +0100 | [diff] [blame] | 18 | LOGS="${CHECKERHOME}/logs" |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 19 | |
| 20 | LEVEL1="change_required" |
| 21 | LEVEL2="formatting" |
| 22 | LEVEL5="please_check" |
| 23 | LEVEL10="cosmetics" |
| 24 | |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 25 | CHECKTMP=$(mktemp --suffix=lpccheck) || exit |
| 26 | CHECKTMP2=$(mktemp --suffix=lpccheck) || exit |
| 27 | |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 28 | echo -ne "LPC-Source Checker V0.3 (2008-01-09)\n\n" |
| 29 | |
| 30 | usage() { |
| 31 | echo -ne "usage: ./check <region> <logfile>\n" |
| 32 | exit |
| 33 | } |
| 34 | |
| 35 | # Parameter pruefen, ansonsten usage ausgeben |
| 36 | if [ -z ${1} ] || [ -z ${2} ] |
| 37 | then |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 38 | usage |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 39 | fi |
| 40 | |
| 41 | # gucken ob das Logverzeichnis da ist, wenn nein, dann anlegen |
| 42 | if [ ! -d ${LOGS} ] |
| 43 | then |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 44 | mkdir -p ${LOGS} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 45 | fi |
| 46 | |
| 47 | # rudimentaerer check ob die Mudlib da liegt, wo ${MUDLIB} hinzeigt |
| 48 | if [ ! -d ${MUDLIB} ] |
| 49 | then |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 50 | echo -ne "No mudlib found in ${MUDLIB}\n" |
| 51 | exit |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 52 | fi |
| 53 | |
| 54 | # alten Kram entsorgen |
| 55 | if [ -f ${CODEFILES} ] |
| 56 | then |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 57 | rm ${CODEFILES} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 58 | fi |
| 59 | |
| 60 | if [ -f ${HEADERFILES} ] |
| 61 | then |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 62 | rm ${HEADERFILES} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 63 | fi |
| 64 | |
| 65 | if [ -f ${LPCFILES} ] |
| 66 | then |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 67 | rm ${LPCFILES} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 68 | fi |
| 69 | |
| 70 | echo -ne "Checking the MorgenGrauen Mudlib in ${MUDLIB}\n" |
| 71 | echo -ne "Checking in ${1} (${MUDLIB}${1})\n" |
| 72 | |
| 73 | cd ${MUDLIB} |
| 74 | |
| 75 | # Dateiliste erstellen |
| 76 | echo -ne "Creating file list...\n" |
| 77 | |
| 78 | find ./${1} -type f -name "*.c" -print > ${CODEFILES} |
| 79 | find ./${1} -type f -name "*.h" -print > ${HEADERFILES} |
| 80 | |
| 81 | # irgendwie unschoen |
| 82 | cat ${CODEFILES} ${HEADERFILES} > ${LPCFILES} |
| 83 | |
| 84 | # eigentlich haette man das alles in einem abfackeln koennen, aber dann gaebe |
| 85 | # es keine Ueberschriften ueber den einzelnen Punkten |
| 86 | |
| 87 | # LEVEL 1 CHECKS (change required) |
| 88 | |
| 89 | # Umlaute |
| 90 | echo -ne "\n\nPruefe auf Umlaute...\n" | tee -a ${LOGS}/${2}.${LEVEL1} |
| 91 | while read line |
| 92 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 93 | grep -Hn '[üöäÜÖÄß]' $line | cut -d : -f 1-2 >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 94 | done < ${LPCFILES} |
| 95 | |
| 96 | # lambda() |
| 97 | echo -ne "\n\nPruefe auf lambda()...\n" | tee -a ${LOGS}/${2}.${LEVEL1} |
| 98 | while read line |
| 99 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 100 | grep -Hn 'lambda(' $line| cut -d : -f 1-2 >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 101 | done < ${LPCFILES} |
| 102 | |
| 103 | # Pfade in /players/ |
| 104 | echo -ne "\n\nPruefe auf Pfade in /players/...\n" | tee -a ${LOGS}/${2}.${LEVEL1} |
| 105 | while read line |
| 106 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 107 | grep -Hn '/players/' $line| cut -d : -f 1-2 >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 108 | done < ${LPCFILES} |
| 109 | |
| 110 | # fehlende #pragma strong_types/strict_types |
| 111 | echo -ne "\n\nFiles ohne #pragma strong_types oder strict_types...\n" | tee -a ${LOGS}/${2}.${LEVEL1} |
| 112 | while read line |
| 113 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 114 | grep -L '#pragma.\(strong\|strict\)_types' $line | sort \ |
| 115 | >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 116 | done < ${CODEFILES} |
| 117 | |
| 118 | # direkte Verwendung von do_damage() |
| 119 | echo -ne "\n\nPruefe auf direkte Verwendung von do_damage()...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 120 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 121 | while read line |
| 122 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 123 | grep -Hn 'do_damage(' $line | cut -d : -f 1-2 >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 124 | done < ${LPCFILES} |
| 125 | |
| 126 | # Unerwuenschte oder obsolete lfuns |
| 127 | echo -ne "\n\nPruefe auf unerwuenschte oder obsolete lfuns...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 128 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 129 | while read line |
| 130 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 131 | grep -Hn -f ${CHECKERLIB}/bad_lfun.list $line >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 132 | done < ${LPCFILES} |
| 133 | |
| 134 | # Unerwuenschte oder obsolete efuns |
| 135 | echo -ne "\n\nPruefe auf unerwuenschte oder obsolete efuns...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 136 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 137 | while read line |
| 138 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 139 | grep -Hn -f ${CHECKERLIB}/bad_efun.list $line >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 140 | done < ${LPCFILES} |
| 141 | |
| 142 | # Unerwuenschte oder obsolete Properties |
| 143 | echo -ne "\n\nPruefe auf unerwuenschte oder obsolete Properties...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 144 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 145 | while read line |
| 146 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 147 | grep -Hn -f ${CHECKERLIB}/bad_prop.list $line >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 148 | done < ${LPCFILES} |
| 149 | |
| 150 | # Unerwuenschte Events |
| 151 | echo -ne "\n\nPruefe auf unerwuenschte Eventnamen...\n" | tee -a ${LOGS}/${2}.${LEVEL1} |
| 152 | while read line |
| 153 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 154 | grep -Hn -f ${CHECKERLIB}/bad_events.list $line >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 155 | done < ${LPCFILES} |
| 156 | |
| 157 | # Keine clones von /std/thing |
| 158 | echo -ne "\n\nPruefe auf Clones von /std/thing...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 159 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 160 | while read line |
| 161 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 162 | grep -Hn 'clone_object(.*/std/thing.*)' $line | cut -d : -f 1-2 \ |
| 163 | >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 164 | done < ${LPCFILES} |
| 165 | |
| 166 | # ueberschriebenes move() |
| 167 | echo -ne "\n\nPruefe auf ueberschriebenes move() (deprecated)...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 168 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 169 | while read line |
| 170 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 171 | grep -Hn 'int.*move(.*mixed.*int.*)' $line | cut -d : -f 1-2 \ |
| 172 | >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 173 | done < ${LPCFILES} |
| 174 | |
| 175 | # wird geerbtes PreventMove gerufen? |
| 176 | echo -ne "\n\nUeberschriebenes PreventMove() ohne geerbetes zu rufen...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 177 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 178 | while read line |
| 179 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 180 | grep 'PreventMove(.*object.*object.*int.*)' $line > $CHECKTMP |
| 181 | grep -L '::PreventMove(' $line > $CHECKTMP2 |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 182 | done < ${LPCFILES} |
| 183 | # nur Zeilen ausgeben, die nicht im 2. File vorkommen |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 184 | grep -v -f $CHECKTMP2 $CHECKTMP | \ |
| 185 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 186 | |
Bugfix | ac979c4 | 2018-04-09 16:51:42 +0200 | [diff] [blame] | 187 | echo -ne "\n\nUeberschriebenes init() ohne geerbtes zu rufen...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 188 | tee -a ${LOGS}/${2}.${LEVEL1} |
Bugfix | ac979c4 | 2018-04-09 16:51:42 +0200 | [diff] [blame] | 189 | while read line |
| 190 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 191 | grep 'init(\(object.*\)\?)' $line > $CHECKTMP |
| 192 | grep -L '::init(' $line > $CHECKTMP2 |
Bugfix | ac979c4 | 2018-04-09 16:51:42 +0200 | [diff] [blame] | 193 | done < ${LPCFILES} |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 194 | grep -v -f $CHECKTMP2 $CHECKTMP \ |
| 195 | >> ${LOGS}/${2}.${LEVEL1} |
Bugfix | ac979c4 | 2018-04-09 16:51:42 +0200 | [diff] [blame] | 196 | |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 197 | echo -ne "\n\nUeberschriebenes NotifyMove() ohne geerbetes zu rufen...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 198 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 199 | while read line |
| 200 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 201 | grep 'NotifyMove(.*object.*object.*int.*)' $line > $CHECKTMP |
| 202 | grep -L '::NotifyMove(' $line > $CHECKTMP2 |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 203 | done < ${LPCFILES} |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 204 | grep -v -f $CHECKTMP2 $CHECKTMP \ |
| 205 | >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 206 | |
| 207 | # call_other(x, "???") ist obsolet |
| 208 | echo -ne "\n\nPruefe auf call_other(x, "???") (obsolet)...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 209 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 210 | while read line |
| 211 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 212 | grep -Hn 'call_other(.*???.*)' $line | cut -d : -f 1-2 \ |
| 213 | >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 214 | done < ${LPCFILES} |
| 215 | |
| 216 | # Alte Syntax der Inline-Closures |
| 217 | echo -ne "\n\nPruefe auf obsolete Inline-Closures ( (: :) )...\n" | \ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 218 | tee -a ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 219 | while read line |
| 220 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 221 | grep -Hn '(: ' $line | cut -d : -f 1-2 \ |
| 222 | >> ${LOGS}/${2}.${LEVEL1} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 223 | done < ${LPCFILES} |
| 224 | |
| 225 | # LEVEL 2 CHECKS |
| 226 | # Tabulatoren |
| 227 | echo -ne "\n\nPruefe auf Tabulatoren...\n" | tee -a ${LOGS}/${2}.${LEVEL2} |
| 228 | while read line |
| 229 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 230 | grep -Hn $'\t' $line | cut -d : -f 1-2 >> ${LOGS}/${2}.${LEVEL2} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 231 | done < ${LPCFILES} |
| 232 | |
| 233 | # Zeilen > 78 Zeichen |
| 234 | echo -ne "\n\nPruefe auf Zeilen > 78 Zeichen...\n" | tee -a ${LOGS}/${2}.${LEVEL2} |
| 235 | while read line |
| 236 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 237 | grep -Hn '.\{79,\}' $line| cut -d : -f 1-2 >> ${LOGS}/${2}.${LEVEL2} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 238 | done < ${LPCFILES} |
| 239 | |
| 240 | # LEVEL 5 CHECKS |
| 241 | # Header mit #pragmas |
| 242 | echo -ne "\n\nHeader (*.h) mit #pragmas...\n" | tee -a ${LOGS}/${2}.${LEVEL5} |
| 243 | while read line |
| 244 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 245 | grep -l '#pragma' $line >> ${LOGS}/${2}.${LEVEL5} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 246 | done < ${HEADERFILES} |
| 247 | |
| 248 | # efuns, Verwendung beachten |
| 249 | echo -ne "\n\nPruefe auf efuns, deren Verwendung beobachtet werden sollte...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 250 | tee -a ${LOGS}/${2}.${LEVEL5} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 251 | while read line |
| 252 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 253 | grep -Hn -f ${CHECKERLIB}/warn_efun.list $line \ |
| 254 | >> ${LOGS}/${2}.${LEVEL5} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 255 | done < ${LPCFILES} |
| 256 | |
| 257 | # Properties, Verwendung beachten |
| 258 | echo -ne "\n\nPruefe auf Properties, deren Verwendung beobachtet werden |
| 259 | sollte...\n" | tee -a ${LOGS}/${2}.${LEVEL5} |
| 260 | while read line |
| 261 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 262 | grep -EHn -f ${CHECKERLIB}/warn_prop.list $line \ |
| 263 | >> ${LOGS}/${2}.${LEVEL5} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 264 | done < ${LPCFILES} |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 265 | |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 266 | # Pruefung auf static -> protected |
| 267 | echo -ne "\n\nPruefe auf 'static' (-> 'protected')...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 268 | tee -a ${LOGS}/${2}.${LEVEL5} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 269 | while read line |
| 270 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 271 | grep -Hn 'static' $line >> ${LOGS}/${2}.${LEVEL5} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 272 | done < ${LPCFILES} |
| 273 | |
| 274 | |
| 275 | # LEVEL 10 CHECKS |
| 276 | # Alte Rechtschreibung rules |
| 277 | echo -ne "\n\nKleingeschriebenes Du/Dir/Dich...\n" |\ |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 278 | tee -a ${LOGS}/${2}.${LEVEL10} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 279 | while read line |
| 280 | do |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 281 | grep -Hn ' \(du\|dich\|dir\) ' $line | cut -d : -f 1-2 | sort | \ |
| 282 | uniq >> ${LOGS}/${2}.${LEVEL10} |
Zesstra@Morgengrauen | 38e73d8 | 2016-02-02 22:24:24 +0100 | [diff] [blame] | 283 | done < ${LPCFILES} |
| 284 | |
| 285 | # Pfadnamen bereinigen |
| 286 | sed -i -e 's#.//#/#g' ${LOGS}/${2}.* |
| 287 | |
| 288 | echo -ne "\nCheck finished!\n" |
Deaddy | b2545fa | 2019-01-02 11:53:50 +0100 | [diff] [blame^] | 289 | |
| 290 | # cleanup |
| 291 | rm $CHECKTMP |
| 292 | rm $CHECKTMP2 |