mirror of https://github.com/MidnightCommander/mc
53 lines
970 B
Bash
53 lines
970 B
Bash
#!/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
|