Files
scst/scripts/checkpatch_scan
Gleb Chesnokov d09f360b93 scripts: Fix shellcheck warnings for checkpatch scripts
- Switching from 'set -e' to 'set -euo pipefail' for better error handling.
- Quoting all variable expansions to prevent word splitting and globbing.
- Replacing legacy unquoted $(...) and $@ with quoted forms.
- Using array-safe idioms where necessary (e.g., "${src_files[@]}").

This patch doesn't change any functionality.
2025-03-25 18:57:32 +03:00

25 lines
856 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
rootdir="$(readlink -f "$(dirname "$0")/..")"
scriptsdir="${rootdir}/scripts"
outputfile="checkpatch.out"
mapfile -t src_files < <(
"${scriptsdir}/list-source-files" "${rootdir}" | \
grep -vE '^debian/|^fcst/linux-patches|patch$|pdf$|png$|^iscsi-scst/usr|^qla|^scripts/|^scstadmin/|^usr/|^www/' | \
while read -r filename; do echo "${rootdir}/$filename"; done)
"${scriptsdir}/checkpatch" -f "${src_files[@]}" 1> "${outputfile}" || true
errors=$(grep -c '^ERROR' "${outputfile}" || true)
warnings=$(grep -c '^WARNING' "${outputfile}" || true)
checks=$(grep -c '^CHECK' "${outputfile}" || true)
echo "${errors} errors / ${warnings} warnings / ${checks} checks."
grep -E '^WARNING|^ERROR|^CHECK' "${outputfile}" |
sort |
sed 's/^CHECK:CAMELCASE: Avoid CamelCase:.*/CHECK:CAMELCASE Avoid CamelCase/' |
uniq -c