summaryrefslogtreecommitdiff
path: root/contrib/tools/reindent
blob: f4df309b6684c5513213e086a5e382657cc80e10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/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