Files
cc65/.github/checks/sorted.sh
Kugel Fuhr fa81f14cbf Add an explicit "exit 0" to the shell scripts. This worked more or less by
coincidence before since shell scripts return the exit code of the last
command run if there is no explicit exit statement.
2025-06-25 20:34:41 +02:00

40 lines
869 B
Bash
Executable File

#! /bin/bash
OLDCWD=`pwd`
SCRIPT_PATH=`dirname $0`
CHECK_DIR=../../src
SORT_OPT="-u -c"
# $1: filename
function checkarray_quoted_name
{
CHECK_FILE="$1"
START="\\/\\* BEGIN SORTED.SH \\*\\/"
END="\\/\\* END SORTED.SH \\*\\/"
awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {printf("%04d##%s\n", count, $0)}' "$CHECK_FILE" | \
sed -e 's:\(.*\)##.*\"\(.*\)\".*:\1##\2:g' > .a.tmp
if [[ -z $(grep '[^[:space:]]' .a.tmp) ]] ; then
echo "error: "$1" table is empty"
rm -rf .a.tmp
exit -1
fi
if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then
echo ""$1" tables OK"
else
echo "error: "$1" tables are not sorted."
rm -rf .a.tmp
exit -1
fi
rm -rf .a.tmp
}
for N in `grep -rl "BEGIN SORTED.SH" "$CHECK_DIR"`; do
checkarray_quoted_name $N
done
exit 0