2016-07-13 17:38:01 -04:00
|
|
|
#!/bin/sh
|
|
|
|
|
2016-07-14 18:38:35 -04:00
|
|
|
# reindent a libpng C source
|
|
|
|
|
|
|
|
# COPYRIGHT: Written by Glenn Randers-Pehrson, 2016.
|
|
|
|
# To the extent possible under law, the author has waived all copyright and
|
|
|
|
# related or neighboring rights to this work. This work is published from:
|
|
|
|
# United States.
|
|
|
|
|
|
|
|
# Usage:
|
|
|
|
# reindent inputtabsize outputtabsize inputcontinuestring outputcontinuestring
|
2016-07-13 17:38:01 -04:00
|
|
|
#
|
|
|
|
# Assumes that continued lines begin with indentation plus one space, and
|
|
|
|
# that continued comments begin with indentation plus " *".
|
2016-07-14 18:38:35 -04:00
|
|
|
#
|
2016-07-18 09:40:26 -04:00
|
|
|
# eg, to change libpng coding style from 3-space indentation with 4-space
|
|
|
|
# continuations to 4-space indentation with 2-space continuations:
|
2016-07-14 18:38:35 -04:00
|
|
|
#
|
2016-07-18 09:40:26 -04:00
|
|
|
# reindent 3 4 "\t " " " < example.c > example.c_4_2
|
|
|
|
# and to restore the file back to libpng coding style
|
|
|
|
# reindent 4 3 " " " " < example.c_4_2 > example.c_3_4
|
2016-07-13 17:38:01 -04:00
|
|
|
|
2016-07-14 18:38:35 -04:00
|
|
|
unexpand --first-only --t $1 | \
|
2016-07-18 09:40:26 -04:00
|
|
|
sed -e "/^ *$3[^\*]/{s/$3/$4/}" | \
|
2016-07-13 17:38:01 -04:00
|
|
|
expand -t $2
|