]>
Commit | Line | Data |
---|---|---|
0cd0a820 RS |
1 | #! /bin/bash |
2 | # Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. | |
3 | # | |
9059ab42 | 4 | # Licensed under the Apache License 2.0 (the "License"). You may not use |
0cd0a820 RS |
5 | # this file except in compliance with the License. You can obtain a copy |
6 | # in the file LICENSE in the source distribution or at | |
7 | # https://www.openssl.org/source/license.html | |
8 | ||
9 | # Find unused error function-names and reason-codes, and edit them | |
10 | # out of the source. Doesn't handle line-wrapping, might have to do | |
11 | # some manual cleanups to fix compile errors. | |
12 | ||
13 | export X1=/tmp/f.1.$$ | |
14 | export X2=/tmp/f.2.$$ | |
15 | ||
cad3f9da RS |
16 | case "$1" in |
17 | -f) | |
18 | PAT='_F_' | |
19 | echo Functions only | |
20 | ;; | |
21 | -[er]) | |
22 | PAT='_R_' | |
23 | echo Reason codes only | |
24 | ;; | |
25 | "") | |
26 | PAT='_[FR]_' | |
27 | echo Function and reasons | |
28 | ;; | |
29 | *) | |
30 | echo "Usage error; one of -[efr] required." | |
31 | exit 1; | |
32 | ;; | |
33 | esac | |
34 | ||
0cd0a820 | 35 | cd include/openssl || exit 1 |
cad3f9da | 36 | grep "$PAT" * | grep -v ERR_FATAL_ERROR | awk '{print $3;}' | sort -u >$X1 |
0cd0a820 RS |
37 | cd ../.. |
38 | ||
39 | for F in `cat $X1` ; do | |
40 | git grep -l --full-name -F $F >$X2 | |
41 | NUM=`wc -l <$X2` | |
42 | test $NUM -gt 2 && continue | |
54478ac9 RS |
43 | if grep -q $F crypto/err/openssl.ec ; then |
44 | echo Possibly unused $F found in openssl.ec | |
45 | continue | |
46 | fi | |
0cd0a820 RS |
47 | echo $F |
48 | for FILE in `cat $X2` ; do | |
49 | grep -v -w $F <$FILE >$FILE.new | |
50 | mv $FILE.new $FILE | |
51 | done | |
52 | done | |
53 | ||
54 | rm $X1 $X2 |