#!/bin/sh
#211020 sfs
#	TMP_DIR="/tmp/mc_initrdlz_temp"
	TMP_DIR="`mktemp -d`"

mc_tmp () {
#	[ ! -d $TMP_DIR ] && mkdir $TMP_DIR
	cd "$TMP_DIR" > /dev/null
	#bsdtar -xf "$1" 
	lzma -dc -S .lz "$1"  | cpio -i -d 2>/dev/null
}

mc_list () {
    mc_tmp "$1"
mcls
	[ -d "$TMP_DIR" ] && rm -r "$TMP_DIR"
}

mc_list0 () {
    mc_tmp "$1"
	tar cf - . |tar -tvf - | awk '
{
	sub("/", " ", $2)
	date = substr($4, 6, 2) "-" substr($4, 9, 2) "-" substr($4, 1, 4) " " $5
	name = $6
	{if($7 != ""){name = name " " $7}}
	{if($8 != ""){name = name " " $8}}
	{if($9 != ""){name = name " " $9}}
	{if($10 != ""){name = name " " $10}}
	{if($11 != ""){name = name " " $11}}
	{if($12 != ""){name = name " " $12}}
	{if($13 != ""){name = name " " $13}}
	printf "%s 1 %s %s %s %s\n", $1, $2, $3, date, name
}'
	[ -d "$TMP_DIR" ] && rm -r "$TMP_DIR"
}

mc_copyout () {
#    mc_tmp "$1"
#	mv $TMP_DIR/$2 $3
#	[ ! -d "$TMP_DIR" ] && mkdir $TMP_DIR
	cd "$TMP_DIR" > /dev/null
	#bsdtar -xf "$1" 
	lzma -dc -S .lz "$1"  | cpio -i -d "$2" 2>/dev/null
	mv "$TMP_DIR"/"$2" "$3"
	[ -d "$TMP_DIR" ] && rm -r "$TMP_DIR"
}

LC_ALL=C

cmd="$1"
shift

case "$cmd" in
  list)
    mc_list "$@" |grep "/" ;
    exit 0;;
  copyout)
    mc_copyout "$@";
    exit 0;;
esac
exit 1
