178bc019dSStefan Eßer#! /bin/sh 278bc019dSStefan Eßer# 378bc019dSStefan Eßer# SPDX-License-Identifier: BSD-2-Clause 478bc019dSStefan Eßer# 5*a970610aSStefan Eßer# Copyright (c) 2018-2024 Gavin D. Howard and contributors. 678bc019dSStefan Eßer# 778bc019dSStefan Eßer# Redistribution and use in source and binary forms, with or without 878bc019dSStefan Eßer# modification, are permitted provided that the following conditions are met: 978bc019dSStefan Eßer# 1078bc019dSStefan Eßer# * Redistributions of source code must retain the above copyright notice, this 1178bc019dSStefan Eßer# list of conditions and the following disclaimer. 1278bc019dSStefan Eßer# 1378bc019dSStefan Eßer# * Redistributions in binary form must reproduce the above copyright notice, 1478bc019dSStefan Eßer# this list of conditions and the following disclaimer in the documentation 1578bc019dSStefan Eßer# and/or other materials provided with the distribution. 1678bc019dSStefan Eßer# 1778bc019dSStefan Eßer# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 1878bc019dSStefan Eßer# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1978bc019dSStefan Eßer# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2078bc019dSStefan Eßer# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 2178bc019dSStefan Eßer# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2278bc019dSStefan Eßer# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2378bc019dSStefan Eßer# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2478bc019dSStefan Eßer# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2578bc019dSStefan Eßer# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2678bc019dSStefan Eßer# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2778bc019dSStefan Eßer# POSSIBILITY OF SUCH DAMAGE. 2878bc019dSStefan Eßer# 2978bc019dSStefan Eßer 30103d7cdfSStefan Eßerscript="$0" 31103d7cdfSStefan Eßerscriptdir=$(dirname "$script") 32103d7cdfSStefan Eßer 33103d7cdfSStefan Eßer. "$scriptdir/functions.sh" 3478bc019dSStefan Eßer 3578bc019dSStefan Eßercd "$scriptdir/.." 3678bc019dSStefan Eßer 3778bc019dSStefan Eßerif [ "$#" -gt 0 ]; then 3878bc019dSStefan Eßer files="$@" 3978bc019dSStefan Eßerelse 4078bc019dSStefan Eßer files=$(find "." -name "*.c" -or -name "*.h") 4178bc019dSStefan Eßerfi 4278bc019dSStefan Eßer 4378bc019dSStefan Eßerfor f in $files; do 4478bc019dSStefan Eßer 4578bc019dSStefan Eßer case "$f" in 4678bc019dSStefan Eßer *scripts/ministat.c) continue ;; 4778bc019dSStefan Eßer esac 4878bc019dSStefan Eßer 4978bc019dSStefan Eßer contents=$(clang-tidy --use-color -p ../build "$f" -- -I./include \ 5078bc019dSStefan Eßer -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE \ 5178bc019dSStefan Eßer -D_GNU_SOURCE -D_DEFAULT_SOURCE 2>&1) 5278bc019dSStefan Eßer 5378bc019dSStefan Eßer err="$?" 5478bc019dSStefan Eßer 5578bc019dSStefan Eßer if [ ! -z "$contents" ] || [ "$err" -ne 0 ]; then 5678bc019dSStefan Eßer 5778bc019dSStefan Eßer printf '%s\n' "$f" 5878bc019dSStefan Eßer printf '%s\n' "$contents" 5978bc019dSStefan Eßer printf '\n' 6078bc019dSStefan Eßer 6178bc019dSStefan Eßer if [ "$err" -ne 0 ]; then 6278bc019dSStefan Eßer exit "$err" 6378bc019dSStefan Eßer fi 6478bc019dSStefan Eßer fi 6578bc019dSStefan Eßer 6678bc019dSStefan Eßerdone 67