Add UI functions to set result with explicit length and to retrieve the length
[openssl.git] / util / find-unused-errs
index d36789ef6f776a2aa1af085f62eda8875e5d6316..cd1026d5947c6c92a9ce033f171512fbac857a56 100755 (executable)
 export X1=/tmp/f.1.$$
 export X2=/tmp/f.2.$$
 
 export X1=/tmp/f.1.$$
 export X2=/tmp/f.2.$$
 
+case "$1" in
+    -f)
+        PAT='_F_'
+        echo Functions only
+        ;;
+    -[er])
+        PAT='_R_'
+        echo Reason codes only
+        ;;
+    "")
+        PAT='_[FR]_'
+        echo Function and reasons
+        ;;
+    *)
+        echo "Usage error; one of -[efr] required."
+        exit 1;
+        ;;
+esac
+
 cd include/openssl || exit 1
 cd include/openssl || exit 1
-grep '_[RF]_' * | awk '{print $3;}' | sort -u >$X1
+grep "$PAT" *  | grep -v ERR_FATAL_ERROR | awk '{print $3;}' | sort -u >$X1
 cd ../..
 
 for F in `cat $X1` ; do
     git grep -l --full-name -F $F >$X2
     NUM=`wc -l <$X2`
     test $NUM -gt 2 && continue
 cd ../..
 
 for F in `cat $X1` ; do
     git grep -l --full-name -F $F >$X2
     NUM=`wc -l <$X2`
     test $NUM -gt 2 && continue
+    if grep -q $F crypto/err/openssl.ec ; then
+        echo Possibly unused $F found in openssl.ec
+        continue
+    fi
     echo $F
     for FILE in `cat $X2` ; do
         grep -v -w $F <$FILE >$FILE.new
     echo $F
     for FILE in `cat $X2` ; do
         grep -v -w $F <$FILE >$FILE.new