xref: /netbsd-src/crypto/external/bsd/openssl/dist/util/find-unused-errs (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1#! /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
24    if grep -q $F crypto/err/openssl.ec ; then
25        echo Possibly unused $F found in openssl.ec
26        continue
27    fi
28    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
36