#!/usr//bin/sh

UNSQUASH=/usr/bin/unsquashfs

mcsquashfs_list () {

$UNSQUASH -ll "$1" | awk '
{if (NR == 1) { next }}
{if (NR == 2) { next }}
/^$/ { next }
/^d/ { next }
{
    sub("/", " ", $2)
    date = substr($4, 6, 2) "-" substr($4, 9, 2) "-" substr($4, 1, 4) " " $5
    sub("squashfs-root", "",  $6)
    name = $6
    {if($7 != ""){name = name " " $7}}
    {if($8 != ""){name = name " " $8}}
    printf "%s 1 %s %s %s %s\n", $1, $2, $3, date, name
}'
}

mcsquashfs_copyout () {
    TMP_DIR="/tmp/squashfs_temp"
    [ ! -d $TMP_DIR ] && mkdir $TMP_DIR
    $UNSQUASH -f -d $TMP_DIR $1 -e /$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)
	mcsquashfs_list "$@";
	exit 0
    ;;
    copyout)
	mcsquashfs_copyout "$@";
	exit 0
    ;;
esac

exit 0