Blame maint/code-cleanup.sh

Packit 0848f5
#! /bin/bash
Packit 0848f5
Packit 0848f5
if test ! -z "`which gindent`" ; then
Packit 0848f5
	indent=gindent
Packit 0848f5
else
Packit 0848f5
	indent=indent
Packit 0848f5
fi
Packit 0848f5
Packit 0848f5
indent_code()
Packit 0848f5
{
Packit 0848f5
    file=$1
Packit 0848f5
Packit 0848f5
    $indent --k-and-r-style --line-length100 --else-endif-column1 --start-left-side-of-comments \
Packit 0848f5
	--break-after-boolean-operator --dont-cuddle-else --dont-format-comments \
Packit 0848f5
	--comment-indentation1 --indent-level4 --no-tabs \
Packit 0848f5
	${file}
Packit 0848f5
    rm -f ${file}~
Packit 0848f5
    cp ${file} /tmp/${USER}.__tmp__ && \
Packit 0848f5
	cat ${file} | sed -e 's/ *$//g' -e 's/( */(/g' -e 's/ *)/)/g' \
Packit 0848f5
	-e 's/if(/if (/g' -e 's/while(/while (/g' -e 's/do{/do {/g' -e 's/}while/} while/g' > \
Packit 0848f5
	/tmp/${USER}.__tmp__ && mv /tmp/${USER}.__tmp__ ${file}
Packit 0848f5
}
Packit 0848f5
Packit 0848f5
usage()
Packit 0848f5
{
Packit 0848f5
    echo "Usage: $1 [filename | --all] {--recursive} {--debug}"
Packit 0848f5
}
Packit 0848f5
Packit 0848f5
# Check usage
Packit 0848f5
if [ -z "$1" ]; then
Packit 0848f5
    usage $0
Packit 0848f5
    exit
Packit 0848f5
fi
Packit 0848f5
Packit 0848f5
# Make sure the parameters make sense
Packit 0848f5
all=0
Packit 0848f5
recursive=0
Packit 0848f5
got_file=0
Packit 0848f5
debug=
Packit 0848f5
ignore=0
Packit 0848f5
ignore_list="__I_WILL_NEVER_FIND_YOU__"
Packit 0848f5
for arg in $@; do
Packit 0848f5
    if [ "$ignore" = "1" ] ; then
Packit 0848f5
	ignore_list="$ignore_list|$arg"
Packit 0848f5
	ignore=0
Packit 0848f5
	continue;
Packit 0848f5
    fi
Packit 0848f5
Packit 0848f5
    if [ "$arg" = "--all" ]; then
Packit 0848f5
	all=1
Packit 0848f5
    elif [ "$arg" = "--recursive" ]; then
Packit 0848f5
	recursive=1
Packit 0848f5
    elif [ "$arg" = "--debug" ]; then
Packit 0848f5
	debug="echo"
Packit 0848f5
    elif [ "$arg" = "--ignore" ] ; then
Packit 0848f5
	ignore=1
Packit 0848f5
    else
Packit 0848f5
	got_file=1
Packit 0848f5
    fi
Packit 0848f5
done
Packit 0848f5
if [ "$recursive" = "1" -a "$all" = "0" ]; then
Packit 0848f5
    echo "--recursive cannot be used without --all"
Packit 0848f5
    usage $0
Packit 0848f5
    exit
Packit 0848f5
fi
Packit 0848f5
if [ "$got_file" = "1" -a "$all" = "1" ]; then
Packit 0848f5
    echo "--all cannot be used in conjunction with a specific file"
Packit 0848f5
    usage $0
Packit 0848f5
    exit
Packit 0848f5
fi
Packit 0848f5
Packit 0848f5
if [ "$recursive" = "1" ]; then
Packit 0848f5
    for i in `find . \! -type d | egrep '(\.c$|\.h$|\.c\.in$|\.h\.in$|\.cpp$|\.cpp.in$)' | \
Packit 0848f5
	egrep -v "($ignore_list)"` ; do
Packit 0848f5
	${debug} indent_code $i
Packit 0848f5
    done
Packit 0848f5
elif [ "$all" = "1" ]; then
Packit 0848f5
    for i in `find . -maxdepth 1 \! -type d | egrep '(\.c$|\.h$|\.c\.in$|\.h\.in$|\.cpp$|\.cpp.in$)' | \
Packit 0848f5
	egrep -v "($ignore_list)"` ; do
Packit 0848f5
	${debug} indent_code $i
Packit 0848f5
    done
Packit 0848f5
else
Packit 0848f5
    ${debug} indent_code $@
Packit 0848f5
fi