mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
checkpatch: add scripts/check for batch processing
Co-Authored-By: @Consolatis
This commit is contained in:
parent
a361bae699
commit
4305f54e37
3 changed files with 61 additions and 2 deletions
|
|
@ -102,7 +102,7 @@ The reasons for specifying a style is not that we enjoy creating rules, but
|
|||
because it makes reading/maintaining the code and spotting problems much easier.
|
||||
|
||||
If you are new to this style and want to get going quickly, either just imitate
|
||||
the style around you, or read the summary below and use [checkpatch.pl] to run
|
||||
the style around you, or read the summary below and use `./scripts/check` to run
|
||||
some formatting checks.
|
||||
|
||||
## Linux Kernel Style Basics
|
||||
|
|
@ -341,7 +341,6 @@ xgettext --keyword=_ --language=C --add-comments -o po/labwc.pot src/menu/menu.c
|
|||
[common/mem.h]: https://github.com/labwc/labwc/blob/master/include/common/mem.h
|
||||
[common/list.h]: https://github.com/labwc/labwc/blob/master/include/common/list.h
|
||||
[commit messages]: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/CONTRIBUTING.md#commit-messages
|
||||
[checkpatch.pl]: https://github.com/johanmalm/checkpatch.pl
|
||||
[GNU C extensions]: https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html
|
||||
[`wl_container_of()`]: https://github.com/wayland-project/wayland/blob/985ab55d59db45ea62795c76dff5949343e86b2f/src/wayland-util.h#L409
|
||||
|
||||
|
|
|
|||
10
scripts/README.md
Normal file
10
scripts/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
These scripts are intended to be run from the project top-level directory
|
||||
like this: `scripts/foo.sh`
|
||||
|
||||
- `scripts/check`: wrapper to check all files in `src/` and `include/`
|
||||
|
||||
- `scripts/checkpatch.pl`: Quick hack on the Linux kernel [checkpatch.pl]
|
||||
to lint C files written according to the labwc coding style. Run like
|
||||
this: `./checkpatch.pl --no-tree --terse --strict --file <file>`
|
||||
|
||||
[checkpatch.pl]: https://raw.githubusercontent.com/torvalds/linux/4ce9f970457899defdf68e26e0502c7245002eb3/scripts/checkpatch.pl
|
||||
50
scripts/check
Executable file
50
scripts/check
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh
|
||||
|
||||
file=
|
||||
|
||||
usage_message="Usage: check [OPTIONS]
|
||||
OPTIONS:
|
||||
--file=<filename> Specify file to check. If none specified, all
|
||||
files in src/ and include/ will be checked.
|
||||
"
|
||||
|
||||
run_checkpatch() {
|
||||
nice scripts/checkpatch.pl --terse --no-tree --strict --file "$1"
|
||||
return $?
|
||||
}
|
||||
|
||||
run_checks () {
|
||||
if [ ! -z "$file" ]; then
|
||||
run_checkpatch "${file}"
|
||||
return $?
|
||||
fi
|
||||
|
||||
find src/ include/ \( -name "*.c" -o -name "*.h" \) -type f |
|
||||
{
|
||||
errors=0
|
||||
while IFS= read -r file; do
|
||||
run_checkpatch "$file" || errors=1
|
||||
done
|
||||
return ${errors}
|
||||
}
|
||||
}
|
||||
|
||||
main () {
|
||||
for arg
|
||||
do
|
||||
opt=${arg%%=*}
|
||||
var=${arg#*=}
|
||||
case "$opt" in
|
||||
--file)
|
||||
file="$var" ;;
|
||||
-h|--help)
|
||||
printf '%b' "$usage_message"; exit 1 ;;
|
||||
*)
|
||||
printf '%b\n' "warn: unknown option $opt" >&2 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
run_checks
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue