#! /bin/sh
# $Id: ewl,v 1.1 2000/03/31 22:56:33 dmetz Exp $
# $crtd:  by  Derald Metzger  on  980228 $
# $cmnt:  Setup env for, then execute the cfm worklog editor $
#           Copyright (c) 1998 1999  Derald Metzger 
#  This file is part of the cfm pkg (GPL).
# $

defworklogdir=/cm/worklog

case $0 in
  *ewl) filnam=worklog ;;
  *ebb) filnam=bb ;;
esac

if [ -n "$WORKLOGDIR" ]; then
  if [ ! -f $WORKLOGDIR/$filnam ]; then 
    echo "### \WORKLOGDIR is defined as $WORKLOGDIR"
    echo "    but no log found at $WORKLOGDIR/$filnam"
    exit
  fi
elif [ -f $defworklogdir/$filnam ]; then
    WORKLOGDIR=$defworklogdir
else
  echo "### Env var WORKLOGDIR not defined"
  echo "    and no log found at default $defworklogdir/$filnam."
  echo "    See /usr/doc/cfm-*/worklog for details."
  exit
fi
[ -z "$EDITOR" ] && EDITOR=vi

locker=$USER@`uname -n`_$$
lckfil=$WORKLOGDIR/lock/LCK..$filnam-$locker
trap "rm -f $lckfil; exit" 0 1 2
echo "`date '+%y%m%d:%H%M'` $locker" >$lckfil
if [ $? != 0 ]; then
  echo "### Failed to write lock $lckfil. Exiting"
  exit
fi
num_locks=`set \`ls $WORKLOGDIR/lock/*$filnam*\`; echo $#`

if [ $num_locks -gt 1 ]; then 
  rm -f $lckfil
  echo "### log locked"
  echo "    `cat $WORKLOGDIR/lock/LCK..$filnam-*`"
else
  case $# in
    0) $EDITOR $WORKLOGDIR/$filnam ;;
    *) $EDITOR "$@" $WORKLOGDIR/$filnam ;;
  esac
fi
