From d1def100ddfebe54eb2dd000b4f239646a805dbd Mon Sep 17 00:00:00 2001 From: mrdudz Date: Mon, 9 Jun 2025 22:28:19 +0200 Subject: [PATCH] use sort -c --- .github/checks/sorted.sh | 12 +++++------- .github/checks/sorted_codeopt.sh | 31 +++++++++++++++++++------------ .github/checks/sorted_opcodes.sh | 12 +++++------- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/.github/checks/sorted.sh b/.github/checks/sorted.sh index 58d82ed67..0a4a90db7 100755 --- a/.github/checks/sorted.sh +++ b/.github/checks/sorted.sh @@ -4,8 +4,9 @@ SCRIPT_PATH=`dirname $0` CHECK_DIR=../../src -SORT_OPT=-u +SORT_OPT="-u -c" +# $1: filename function checkarray_quoted_name { CHECK_FILE="$1" @@ -21,17 +22,14 @@ function checkarray_quoted_name exit -1 fi - LC_COLLATE=C sort $SORT_OPT .a.tmp > .b.tmp - - if cmp --silent -- .a.tmp .b.tmp; then + if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then echo ""$1" tables OK" else echo "error: "$1" tables are not sorted." - diff -y .a.tmp .b.tmp - rm -rf .a.tmp .b.tmp + rm -rf .a.tmp exit -1 fi - rm -rf .a.tmp .b.tmp + rm -rf .a.tmp } diff --git a/.github/checks/sorted_codeopt.sh b/.github/checks/sorted_codeopt.sh index f15295990..e90e32b4a 100755 --- a/.github/checks/sorted_codeopt.sh +++ b/.github/checks/sorted_codeopt.sh @@ -4,8 +4,9 @@ SCRIPT_PATH=`dirname $0` CHECK_DIR=../../src -SORT_OPT=-u +SORT_OPT="-u -c" +# $1: filename function checkarray { CHECK_FILE="$1" @@ -21,32 +22,38 @@ function checkarray exit -1 fi - LC_COLLATE=C sort $SORT_OPT .a.tmp > .b.tmp - - if cmp --silent -- .a.tmp .b.tmp; then - echo ""$1" decls OK" + if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then + echo ""$1" decls sorted." else echo "error: "$1" decls are not sorted." - diff -y .a.tmp .b.tmp - rm -rf .a.tmp .b.tmp + rm -rf .a.tmp exit -1 fi START="\\/\\* BEGIN SORTED_CODEOPT.SH \\*\\/" END="\\/\\* END SORTED_CODEOPT.SH \\*\\/" - awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {print count,"##",$0}' "$CHECK_FILE" | \ - sed -e 's:\(.*##\).*&D\(.*\),.*:\1\2:g' > .a.tmp - if [[ -z $(grep '[^[:space:]]' .a.tmp) ]] ; then + awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {print count,"##",$0}' "$CHECK_FILE" | \ + sed -e 's:\(.*##\).*&D\(.*\),.*:\1\2:g' > .b.tmp + + if [[ -z $(grep '[^[:space:]]' .b.tmp) ]] ; then echo "error: "$1" table is empty" - rm -rf .a.tmp + rm -rf .a.tmp .b.tmp + exit -1 + fi + + if `LC_COLLATE=C sort $SORT_OPT .b.tmp`; then + echo ""$1" tables sorted." + else + echo "error: "$1" tables are not sorted." + rm -rf .a.tmp .b.tmp exit -1 fi if cmp --silent -- .a.tmp .b.tmp; then echo ""$1" tables OK" else - echo "error: "$1" tables are not sorted." + echo "error: "$1" tables are different." diff -y .a.tmp .b.tmp rm -rf .a.tmp .b.tmp exit -1 diff --git a/.github/checks/sorted_opcodes.sh b/.github/checks/sorted_opcodes.sh index a1f8fcbfa..b18b841c8 100755 --- a/.github/checks/sorted_opcodes.sh +++ b/.github/checks/sorted_opcodes.sh @@ -4,8 +4,9 @@ SCRIPT_PATH=`dirname $0` CHECK_DIR=../../src -SORT_OPT=-u +SORT_OPT="-u -c" +# $1: filename function checkarray_quoted_name { CHECK_FILE="$1" @@ -23,17 +24,14 @@ function checkarray_quoted_name exit -1 fi - LC_COLLATE=C sort $SORT_OPT .a.tmp > .b.tmp - - if cmp --silent -- .a.tmp .b.tmp; then + if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then echo ""$1" tables OK" else echo "error: "$1" tables are not sorted." - diff -y .a.tmp .b.tmp - rm -rf .a.tmp .b.tmp + rm -rf .a.tmp exit -1 fi - rm -rf .a.tmp .b.tmp + rm -rf .a.tmp } for N in `grep -rl "BEGIN SORTED_OPCODES.SH" "$CHECK_DIR"`; do