hc
2024-03-26 e0728245c89800c2038c23308f2d88969d5b41c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
 
CLANG_FORMAT=${CLANG_FORMAT:-clang-format}
CLANG_FORMAT_VERSION=${CLANG_FORMAT_VERSION:-}
 
if ! type $CLANG_FORMAT >/dev/null || \
        ! $CLANG_FORMAT --version | grep -q "version ${CLANG_FORMAT_VERSION}"; then
    # If running tests, mark this test as skipped.
    exit 77
fi
 
errors=0
paths=$(git ls-files | grep '\.[ch]$')
for path in $paths; do
    in=$(cat $path)
    out=$($CLANG_FORMAT $path)
 
    if [ "$in" != "$out" ]; then
        diff -u -L $path -L "$path.formatted" $path - <<<$out
        errors=1
    fi
done
 
if [ $errors -ne 0 ]; then
    echo "Formatting errors detected, run ./scripts/clang-format to fix!"
    exit 1
fi