blob: 68cf66b15f884802311f1fd8fc248223b97448f0 [file] [log] [blame]
Rich Salz0cd0a822016-05-23 15:02:34 -04001#! /bin/bash
2# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
3#
4# Licensed under the OpenSSL license (the "License"). You may not use
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
13export X1=/tmp/f.1.$$
14export X2=/tmp/f.2.$$
15
16cd include/openssl || exit 1
17grep '_[RF]_' * | awk '{print $3;}' | sort -u >$X1
18cd ../..
19
20for F in `cat $X1` ; do
21 git grep -l --full-name -F $F >$X2
22 NUM=`wc -l <$X2`
23 test $NUM -gt 2 && continue
Rich Salz54478ac2016-07-01 20:10:03 -040024 if grep -q $F crypto/err/openssl.ec ; then
25 echo Possibly unused $F found in openssl.ec
26 continue
27 fi
Rich Salz0cd0a822016-05-23 15:02:34 -040028 echo $F
29 for FILE in `cat $X2` ; do
30 grep -v -w $F <$FILE >$FILE.new
31 mv $FILE.new $FILE
32 done
33done
34
35rm $X1 $X2