mc/vfs/extfs/uha.in
Pavel Roskin 9b4e62ef79 * extfs/uha.in (mchafs_list): Don't parse the month, use
DD-MM-YYYY output.
(mchafs_copyout): Use cat, not mv, because the files can be on
different filesystems.  Use "q" and don't suppress stderr.
2002-12-14 05:10:52 +00:00

54 lines
952 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=${UID-0} '
/^===========/ {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="/tmp/mctmpdir-uha.$$"
mkdir $TMPDIR || 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