#!/bin/bash # # This file is part of RSS Guard. # # Copyright (C) 2011-2017 by Martin Rotter # Copyright (C) 2010-2014 by David Rosca # # RSS Guard is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # RSS Guard 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with RSS Guard. If not, see . function usage { echo "Usage: $0 \"root-directory\"..." exit 1 } if [ $# -eq 0 ]; then usage fi ASTYLE_CMD="uncrustify" if [[ "$(uname -o)" == "Cygwin" ]]; then ASTYLE_RC="$(cygpath -w $(realpath $(dirname $0)))/uncrustify.cfg" else ASTYLE_RC="$(realpath $(dirname $0))/uncrustify.cfg" fi echo "ASTYLE config file: $ASTYLE_RC" # Check all args. for dir in "$@"; do if [ ! -d "${dir}" ]; then echo "\"${dir}\" is not a directory..." usage fi done # Run the thing. for dir in "$@"; do pushd "${dir}" for f in $(find . \ -name '*.c' \ -o -name '*.cc' \ -o -name '*.cpp' \ -o -name '*.h' \ -o -name '*.hh' \ -o -name '*.hpp'); do "${ASTYLE_CMD}" -c "$ASTYLE_RC" --replace "${f}" done # Remove backup files. find . -name "*-backup*~*" | xargs --no-run-if-empty rm -v popd done