#!/bin/sh

# Par Julien MOREAU     ( jmoreau@bigfoot.com )

nbps=1				# Nombre de paramètres souhaités (sans option)
nom_cmde=`basename $0`		# Nom de la commande
usage="Usage: $nom_cmde <login>|moi"			# Message d'aide
usage=$usage"\n\tRenvoie le nom du poste où se trouve la personne donnée."

if test `uname` != "HP-UX" ; then e="-e" ; fi

if [ $# -lt $nbps ] ; then	# Si le nombre de paramètres est incorrecte,
	echo $e $usage 1>&2 ; exit 2	# Affichage aide puis arrêt.
fi

if test -z "$GQO" ; then GQO='-q' ; fi

argv=$* ; argc=$#
for nom in $argv ; do
	if [ $argc -gt 1 ] ; then
		echo $e "$nom \t\c" 1>&2
		if [ `echo "$nom"|wc -c` -le 8 ] ; then echo $e "\t\c" ; fi
	fi
	if [ "$nom" = "moi" ] ; then
		if test -n "$DISPLAY" ; then
			echo $DISPLAY|cut -d':' -f1	#|cut -d'.' -f1
			ret=0 ; continue
		else
			nom=`whoami`
		fi
	fi

	grep -q ^"$nom" /etc/passwd
	if [ $? -ne 0 ] ; then
		echo "Login inconnu sur ce serveur." 1>&2 ; ret=3 ; continue
	fi

	ps -u "$nom" | grep -i -e wm -e enlightenment -e sh >> /dev/null 2>&1
	if [ $? -eq 1 ] ; then
		echo "Cette personne n'est pas loguée en ce moment." 1>&2
		ret=4 ; continue
	fi

	res=`who -T|grep ^"$nom "|grep -v ' old '`
	if test -z "$res" ; then
		echo $e "Cette personne n'a pas de xterm\c" 1>&2
		echo " d'ouvert en ce moment." 1>&2 ; ret=5 ; continue
	fi

	ligne=`echo $res|grep -e ' \. ' -e ' 0:' -e ' 1:'|head -n1`
	if test -z "$ligne" ; then ligne=`echo $res|head -n1` ; fi
	set $ligne
	set `echo $9|cut -d: -f1`	#|cut -d. -f1`  >> /dev/null
	ret=$?
	echo $1|sed -e 's/\.isty-info\.uvsq\.fr$//'
done

exit $ret

