Home | History | Annotate | Download | only in tools
      1 #!/bin/sh
      2 
      3 # reindent a libpng C source
      4 
      5 # COPYRIGHT: Written by Glenn Randers-Pehrson, 2016.
      6 # To the extent possible under law, the author has waived all copyright and
      7 # related or neighboring rights to this work.  This work is published from:
      8 # United States.
      9 
     10 # Usage:
     11 # reindent inputtabsize outputtabsize inputcontinuestring outputcontinuestring
     12 #
     13 # Assumes that continued lines begin with indentation plus one space, and
     14 # that continued comments begin with indentation plus " *".
     15 #
     16 # eg, to change libpng coding style from 3-space indentation with 4-space
     17 # continuations to 4-space indentation with 2-space continuations:
     18 #
     19 #  reindent 3 4 "\t " "  " < example.c > example.c_4_2
     20 # and to restore the file back to libpng coding style
     21 #  reindent 4 3 "  " "    " < example.c_4_2 > example.c_3_4
     22 
     23 unexpand --first-only --t $1 | \
     24    sed -e "/^	*$3[^\*]/{s/$3/$4/}" | \
     25    expand -t $2
     26