• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
23unexpand --first-only --t $1 | \
24   sed -e "/^	*$3[^\*]/{s/$3/$4/}" | \
25   expand -t $2
26