#!/bin/sh # # It is the uhafs Valery Kornienkov vlk@st.simbirsk.su 2:5051/30@fidonet # ver 0.1 Thu Apr 6 12:05:08 2000 HA=ha # for HA 0.999 Copyright (c) 1995 Harri Hirvola # Source: ftp://ftp.ibiblio.org/pub/Linux/utils/compress/ha0999p-linux.tar.gz mchafs_list () { eval $HA lf "$1" 2>/dev/null |@AWK@ -v uid=${UID-0} ' { date="JanFebMarAprMayJunJulAugSepOctNovDec" } /^===========/ {next} { if ($5="%" && $8~/DIR|ASC|HSC|CPY/) { split($6, a, "-") split($7, t, ":") filename=$1 filesize=$2 getline if ($2=="(none)") $2="" path=$2 getline if ($1~/^d.*/) next printf "%s %s %-8d %-8d %8d %3s %2d %4d %s:%s %s%s\n",\ $1,1,0,0,filesize, substr(date,(a[2]-1)*3+1,3),a[3],a[1],t[1],t[2],\ path,filename } }' } mchafs_copyout () { TMPDIR="/tmp/mctmpdir-uha.$$" mkdir $TMPDIR || exit 1 cd $TMPDIR eval $HA xy "$1" "$2" >/dev/null 2>&1 mv -f "$2" "$3" cd / rm -rf $TMPDIR } cmd="$1" shift case "$cmd" in list) mchafs_list "$@" ;; copyout) mchafs_copyout "$@" ;; *) exit 1 ;; esac exit 0