12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/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
- #
- # Tested with HA 0.999. Source of ha can be found at
- # ftp://ftp.ibiblio.org/pub/Linux/utils/compress/
- HA=ha
- mchafs_list ()
- {
- $HA lf "$1" 2>/dev/null | @AWK@ -v uid=$(id -ru) '
- /^===========/ {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 %s-%s-%s %s:%s %s%s\n",\
- $1,1,0,0,filesize,a[3],a[2],a[1],t[1],t[2],path,filename
- }
- }'
- }
- mchafs_copyout ()
- {
- TMPDIR=`mktemp -d "${MC_TMPDIR:-/tmp}/mctmpdir-uha.XXXXXX"` || exit 1
- cd "$TMPDIR"
- $HA xyq "$1" "$2" >/dev/null
- cat "$2" > "$3"
- cd /
- rm -rf "$TMPDIR"
- }
- cmd="$1"
- shift
- case "$cmd" in
- list) mchafs_list "$@" ;;
- copyout) mchafs_copyout "$@" ;;
- *) exit 1 ;;
- esac
- exit 0
|