#!/bin/sh

optend=0 ; optarg=0 ; nargv=()
for arg in "$@" ; do
  file=0
  if [ $optend -eq 1 ] ; then
    file=1
  elif [ $optarg -eq 1 ] ; then
    optarg=0
  elif [ "${arg:0:1}" == "-" ] ; then
    if [ "$arg" == "--" ] ; then
      optend=1
    elif [ `expr length "$(expr "$arg" : ".*\([ctw].*\)")"` -eq 1 ] ; then
      optarg=1
    fi
  elif [ "${arg:0:1}" != "+" ] ; then
    file=1
  fi
  if [ $file -eq 1 ] ; then
    if [ -f "$arg" ] ; then
      if [ `nkf -g "$arg"` == UTF-8 ] ; then
        temp=`mktemp /tmp/vi.XXXXXX`
        nkf -e "$arg" > $temp
        touch -r "$arg" $temp
        arg=$temp
      fi
    fi
  fi
  nargv=("${nargv[@]}" "$arg")
done
/usr/libexec/${0##*/} "${nargv[@]}"
i=0
for arg in "$@" ; do
  if [ "$arg" != "${nargv[$i]}" ] ; then
    [ ${nargv[$i]} -nt "$arg" ] && nkf -w ${nargv[$i]} > "$arg"
    rm ${nargv[$i]}
  fi
  let ++i
done
