mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-12-27 09:04:40 +01:00
f64df6fbb5
Gives a rough first-pass, at least. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
31 lines
1013 B
Bash
Executable File
31 lines
1013 B
Bash
Executable File
#! /bin/sh
|
|
|
|
# Files to look inside: don't count test files. We don't use git grep
|
|
# because we want to find occurences in wiregen files.
|
|
FILES=$(find ./* -name '*.[ch]' | grep -v /test/run- | grep -v ^./ccan/ | grep -v ^./external/ | grep -v ^./tests/)
|
|
|
|
if [ $# = 0 ]; then
|
|
HEADERS=$(echo [a-z]*/*.h)
|
|
else
|
|
HEADERS="$*"
|
|
fi
|
|
|
|
for hfile in $HEADERS; do
|
|
# Don't worry about wiregen unused functions.
|
|
if [ "${hfile%_wiregen.h}" != "${hfile}" ]; then
|
|
continue
|
|
fi
|
|
# shellcheck disable=SC2010 disable=SC2086
|
|
USING=$(ls $FILES | grep -v "^./${hfile%.h}\.")
|
|
funcs=$(sed -n 's/^[^#].* \**\([a-z0-9_]*\)(.*/\1/p;s/^\([a-z0-9_]*\)(.*/\1/p' < "$hfile")
|
|
for f in $funcs; do
|
|
# Ignore C and H files both: don't use git grep since we want to find
|
|
# occurrences in generated files too.
|
|
# echo Looking through $(echo $FILES | grep -v "^${hfile%.h}\.")
|
|
# shellcheck disable=SC2086
|
|
if ! grep -qw $f $USING; then
|
|
echo "$(grep -nHw "$f" "$hfile" | head -n1)": "$f" unused
|
|
fi
|
|
done
|
|
done
|