#!/bin/sh
set -eu

if [ "${1:-}" = '--fix-in-place' ]; then
  find . -type f \( -name '*.h' -o -name '*.c' \) -exec clang-format -i {} \;
  exit 0
fi

# shellcheck disable=2016
find . -type f \( -name '*.h' -o -name '*.c' \) -exec sh -c '
	clang-format "$1" | diff - "$1" || {
		echo "Unformatted C code. To fix it, run:"
		echo "  ./aux/assert-clang-format.sh --fix-in-place"
		exit 1
	}
' _ {} +