#! /bin/sh

# Based on previous version of lslR
# Modified by Tomas Novak <tnovak@ipex.cz>   April 2000
#   (to allow spaces in filenames)

ZCAT="gunzip -c"
CAT="cat"

mclslRfs_list () {
  case "$1" in
    *.gz) MYCAT="$ZCAT";;
    *.z)  MYCAT="$ZCAT";;
    *.Z)  MYCAT="$ZCAT";;
    *)	MYCAT="$CAT";;
  esac

$MYCAT "$1" | gawk '
BEGIN { dir="" }
/^total\ [0-9]*$/ { next }
/^$/ { next }
/^[^[:blank:]].*:$/ {
  if ($0 ~ /^\//) dir=substr($0, 2);
  else dir=$0;
  if (dir ~ /\/:$/) sub(/:$/, "", dir);
  else sub(/:$/, "/", dir);
  next;
}
{ 
  printf "%s %3d %-8s %-8s %8d %3s %2d %5s %s", $1, $2, $3, $4, $5, $6, $7, $8, dir
  for (i=1; i<9; i++) sub("[^[:blank:]]+[[:blank:]]+", "");
  printf "%s\n", $0
}' 2>/dev/null
}

case "$1" in
  list) mclslRfs_list "$2"; exit 0;;
esac
exit 1
