From bebb0330e86bf790108564c0dcc69245f7e86849 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 8 Nov 2013 12:52:10 +0100 Subject: [PATCH] Fix function types. --- qcsrc/uncrusticracy.sh | 2 +- qcsrc/uncrustify.sh | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100755 qcsrc/uncrustify.sh diff --git a/qcsrc/uncrusticracy.sh b/qcsrc/uncrusticracy.sh index ff0bae36e..c71b6cdce 100644 --- a/qcsrc/uncrusticracy.sh +++ b/qcsrc/uncrusticracy.sh @@ -52,7 +52,7 @@ decide() cat uncrustify.cfg printf "%s = %s\n" "$KEY" "$choice" } > uncrustify.cfg.test - uncrustify -c uncrustify.cfg.test --replace --no-backup $FILES >/dev/null 2>&1 + UNCRUSTIFY_CONFIG=uncrustify.cfg.test sh uncrustify.sh $FILES >/dev/null 2>&1 status=$? if [ $status -gt 1 ]; then echo "# ERROR: $KEY = $choice crashes with status $status." diff --git a/qcsrc/uncrustify.sh b/qcsrc/uncrustify.sh new file mode 100755 index 000000000..2df39aa3a --- /dev/null +++ b/qcsrc/uncrustify.sh @@ -0,0 +1,22 @@ +fix_function_types() { + # Uncrustify handles QC function types (example: + # void(void) func; + # ) wrong and removes the space between type and variable. Fix this by + # a simple sed on ")letter" which should normally not occur. + sed -e 's/)\([A-Za-z0-9]\)/) \1/g' "$@" +} + +if [ -z "$UNCRUSTIFY_CONFIG" ]; then + UNCRUSTIFY_CONFIG=`git rev-parse --show-toplevel`/qcsrc/uncrustify.cfg +fi + +case "$#" in + 0) + uncrustify --frag -c "$UNCRUSTIFY_CONFIG" |\ + fix_function_types + ;; + *) + uncrustify --replace --no-backup -c "$UNCRUSTIFY_CONFIG" "$@" &&\ + fix_function_types -i "$@" + ;; +esac -- 2.39.2