Merge branch '4642_fix_overflow'
[midnight-commander.git] / src / vfs / extfs / helpers / uha.in
blob405f72d493628d31128393f047179d158d94fd6d
1 #!/bin/sh
3 # It is the uhafs Valery Kornienkov vlk@st.simbirsk.su 2:5051/30@fidonet
4 # ver 0.1 Thu Apr 6 12:05:08 2000
6 # Tested with HA 0.999. Source of ha can be found at
7 # ftp://ftp.ibiblio.org/pub/Linux/utils/compress/
9 HA=ha
11 mchafs_list ()
13 $HA lf "$1" 2>/dev/null | @AWK@ -v uid=`id -ru` '
14 /^===========/ {next}
16 if ($5="%" && $8~/DIR|ASC|HSC|CPY/) {
17 split($6, a, "-")
18 split($7, t, ":")
19 filename=$1
20 filesize=$2
21 getline
22 if ($2=="(none)") $2=""
23 path=$2
24 getline
25 if ($1~/^d.*/) next
26 printf "%s %s %-8d %-8d %8d %s-%s-%s %s:%s %s%s\n",\
27 $1,1,0,0,filesize,a[3],a[2],a[1],t[1],t[2],path,filename
32 mchafs_copyout ()
34 TMPDIR=`mktemp -d "${MC_TMPDIR:-/tmp}/mctmpdir-uha.XXXXXX"` || exit 1
35 cd "$TMPDIR"
37 $HA xyq "$1" "$2" >/dev/null
38 cat "$2" > "$3"
40 cd /
41 rm -rf "$TMPDIR"
44 cmd="$1"
45 shift
47 case "$cmd" in
48 list) mchafs_list "$@" ;;
49 copyout) mchafs_copyout "$@" ;;
50 *) exit 1 ;;
51 esac
52 exit 0