#!/bin/csh -f

switch (`uname -s``uname -r`)
case Linux*:
	breaksw
default:
	exec echo ${0}: does not run on `uname -s` `uname -r`
endsw

set DEVICES

while($#argv)
	switch ("$1")
	case -d:
		set DEBUG
#		shift
#		breaksw
# fall through to verbose
	case -v:
		set VERBOSE
		shift
		breaksw
	case -e:
		set ERRORS	# report errors too
		shift
		breaksw
	case /dev/*:
		set DEVICES = ( $DEVICES $1 )
		shift
		breaksw
	default:
		set DQ = '"'
		exec echo ${0}: "What do I do with $DQ$1$DQ?"
	endsw
end

set TMP = /tmp/`basename $0`.$$

set RESULT

foreach DEVICE ( $DEVICES )
    if ( $?VERBOSE) echo `date +%T` $DEVICE

    if ($?DEBUG) echo `date +%T`     /sbin/e2label $DEVICE
    /sbin/e2label $DEVICE >& $TMP
    set STATUS = $status
    if ($?DEBUG) then
	echo "   => status: $STATUS"
	echo "      result:"
	sed 's;\(.\);    \1;' $TMP
    endif
    if (! $STATUS) then
	set RESULT = ( $RESULT ${DEVICE}:`cat $TMP` )
    else
	if ($?ERRORS) set RESULT = ( $RESULT ${DEVICE}:error )
    endif
end

echo $RESULT

/bin/rm -f $TMP
