| #!/bin/sh |
| |
| # 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 |
| # |
| # Assumes that continued lines begin with indentation plus one space, and |
| # that continued comments begin with indentation plus " *". |
| # |
| # eg, to change libpng coding style from 3-space indentation with 4-space |
| # continuations to 4-space indentation with 2-space continuations: |
| # |
| # 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 |
| |
| unexpand --first-only --t $1 | \ |
| sed -e "/^ *$3[^\*]/{s/$3/$4/}" | \ |
| expand -t $2 |