Newer version upstream

This commit is contained in:
Pierre Pronchery 2016-12-09 00:20:51 +01:00
parent 6c0bd85bae
commit bdb962c906

View File

@ -59,7 +59,7 @@ _shlint()
for subdir in $subdirs; do for subdir in $subdirs; do
[ -d "../$subdir" ] || continue [ -d "../$subdir" ] || continue
for filename in $($FIND "../$subdir" -name '*.sh' | $SORT); do for filename in $($FIND "../$subdir" -name '*.sh' | $SORT); do
$DEBUG $SHLINT "$filename" 2>&1 _shlint_file "$filename"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "$filename:" echo "$filename:"
else else
@ -71,6 +71,28 @@ _shlint()
return $ret return $ret
} }
_shlint_file()
{
$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
}
#debug #debug
_debug() _debug()
@ -92,6 +114,14 @@ _usage()
} }
#warning
_warning()
{
echo "$PROGNAME: $@" 1>&2
return 2
}
#main #main
clean=0 clean=0
while getopts "cP:" name; do while getopts "cP:" name; do