#!/bin/sh

# in-place "canonicalize-whitespace" conversion for files in $*:
#   * Convert tabs to spaces.
#   * Delete trailing whitespace.
# (on $*, in place, overwriting the old file)

scratchfilename=/tmp/canonicalize-whitespace-1.$$.tmp

echo '/in canonicalize-whitespace-1'
echo '/$*'=$*
echo '/$scratchfilename='$scratchfilename

for f in $*; do
  if egrep '(	|[	 ]+$)' $f >/dev/null
  then
    echo '/$f'=$f

    # We reuse the "expand" GNU utility to remove tabs, but if it turns out
    # not to be available everywhere (or someone has defined "expand" to 
    # mean something else on some other class of system!) we could probably
    # hand-code a replacement in a few lines.
    expand $f > $scratchfilename

    sed 's/[ 	]*$//' < $scratchfilename > $f
  fi

done

rm -f $scratchfilename
