Alex Naidis | 7a055fd | 2016-10-01 12:23:07 +0200 | [diff] [blame] | 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 |