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