+++ /dev/null
-#!/bin/bash
-
-#
-# libseccomp code syntax checking tool
-#
-# Copyright (c) 2013,2015 Red Hat <pmoore@redhat.com>
-# Author: Paul Moore <paul@paul-moore.com>
-#
-
-#
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of version 2.1 of the GNU Lesser General Public License as
-# published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
-# for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, see <http://www.gnu.org/licenses>.
-#
-
-CHK_C_LIST="include/seccomp.h.in \
- src/*.c src/*.h \
- tests/*.c tests/*.h \
- tools/*.c tools/*.h"
-CHK_C_EXCLUDE=""
-
-####
-# functions
-
-#
-# Dependency verification
-#
-# Arguments:
-# 1 Dependency to check for
-#
-function verify_deps() {
- [[ -z "$1" ]] && return
- if ! which "$1" >& /dev/null; then
- echo "error: install \"$1\" and include it in your \$PATH"
- exit 1
- fi
-}
-
-#
-# Print out script usage details
-#
-function usage() {
-cat << EOF
-usage: check-syntax [-h]
-
-libseccomp code syntax checking tool
-optional arguments:
- -h show this help message and exit
- -f fix the file formatting
-EOF
-}
-
-#
-# Generate a properly formatted C source/header file
-#
-# Arguments:
-# 1 Source file
-#
-function tool_c_style() {
- astyle --options=none --lineend=linux --mode=c \
- --style=linux \
- --indent=force-tab=8 \
- --indent-preprocessor \
- --indent-col1-comments \
- --min-conditional-indent=0 \
- --max-instatement-indent=80 \
- --pad-oper \
- --align-pointer=name \
- --align-reference=name \
- --max-code-length=80 \
- --break-after-logical < "$1"
-}
-
-#
-# Check the formatting on a C source/header file
-#
-# Arguments:
-# 1 File to check
-#
-function tool_c_style_check() {
- [[ -z "$1" || ! -r "$1" ]] && return
-
- tool_c_style "$1" | diff -pu --label="$1.orig" "$1" --label="$1" -
-}
-
-#
-# Fix the formatting on a C source/header file
-#
-# Arguments:
-# 1 File to fix
-#
-function tool_c_style_fix() {
- [[ -z "$1" || ! -r "$1" ]] && return
-
- tmp="$(mktemp --tmpdir=$(dirname "$1"))"
- tool_c_style "$1" > "$tmp"
- mv "$tmp" "$1"
-}
-
-#
-# Perform all known syntax checks for the configured C sources/headers
-#
-function check_c() {
- for i in $CHK_C_LIST; do
- echo "$CHK_C_EXCLUDE" | grep -q "$i" && continue
- echo "Differences for $i"
- tool_c_style_check "$i"
- done
-}
-
-#
-# Perform all known syntax fixess for the configured C sources/headers
-#
-function fix_c() {
- for i in $CHK_C_LIST; do
- echo "$CHK_C_EXCLUDE" | grep -q "$i" && continue
- echo "Fixing $i"
- tool_c_style_fix "$i"
- done
-}
-
-####
-# main
-
-verify_deps astyle
-
-opt_fix=0
-
-while getopts "fh" opt; do
- case $opt in
- f)
- opt_fix=1
- ;;
- h|*)
- usage
- exit 1
- ;;
- esac
-done
-
-# display the results
-echo "=============== $(date) ==============="
-echo "Code Syntax Check Results (\"check-syntax $*\")"
-if [[ $opt_fix -eq 1 ]]; then
- fix_c
-else
- check_c
-fi
-echo "============================================================"
-
-# exit
-exit 0