blob: 965d7d80a8a57f0e16b702d43c1aa3e06abb4bbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/env bash
# build-aux/lint-h - Lint checks for C header files
#
# Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
# SPDX-License-Identifier: AGPL-3.0-or-later
r=0
for filename in "$@"; do
dscname=$(./build-aux/get-dscname "$filename")
guard=${dscname//'/'/'_'}
guard=${guard//'.'/'_'}
guard="_${guard^^}_"
if ! { grep -Fxq "#ifndef ${guard}" "$filename" &&
grep -Fxq "#define ${guard}" "$filename" &&
grep -Fxq "#endif /* ${guard} */" "$filename"; }; then
echo "$filename does not have ${guard} guard"; r=1
fi
done
exit $r
|