#!/bin/bash

if [ "$1" == "" ]; then
  echo "Reindentowanie programu C/C++" 
  echo "Uzycie: "$(echo "$0" | sed 's/^.*\///')" plik-we [plik-we ...]"
  exit 0
fi

while [ "$#" -ge "1" ]; do
  TEMP=$RANDOM
  cat "$1" | dos2unix | indent -bad -bap -bbb -bbo -nbc -nbfda -bl -bli2 \
    -bls -nbs -c30 -cbi2 -cd30 -ncdb -cli0 -ci2 -ncdw -nce -ncs -di0 -i0 \
    -l78 -lc78 -lp -nhnl -npcs -nprs -npsl -saf -sai -saw -ss -sc -nsob  \
    -sbi0 -ts2 -nut > "$1.$TEMP"
  if [ ! -e "$1~" ]; then
    mv "$1" "$1~"
  fi

  # usuwamy spacje konczace linie
  # usuwamy puste linie sprzed nawiasow {, wcinamy o 2 wszystko po if, else,
  # for, while, do(while), zapisujemy i wychodzimy
  gawk -f $(dirname `which "$0"`)"/indent.awk" "$1.$TEMP" > "$1"
  rm "$1.$TEMP"
  shift
done
