Try to detect invalid use of return

This commit is contained in:
Pierre Pronchery 2016-12-09 00:13:20 +01:00
parent 4c37d686f8
commit e43aadfb42

View File

@ -73,7 +73,24 @@ _shlint()
_shlint_file()
{
$DEBUG $SHLINT "$filename" 2>&1
$DEBUG $SHLINT "$filename" 2>&1 || return 2
#try to detect invalid use of return
#XXX this test is not accurate (therefore a warning)
warn=0
while read line; do
case "$line" in
*return*)
warn=1
;;
*)
warn=0
;;
esac
done < "$filename"
if [ $warn -ne 0 ]; then
_warning "$filename: return instead of exit in the global scope"
fi
return 0
}
@ -97,6 +114,14 @@ _usage()
}
#warning
_warning()
{
echo "$PROGNAME: $@" 1>&2
return 2
}
#main
clean=0
while getopts "cP:" name; do