#!/bin/sh

#UNSQUASH=/usr/sbin/unsquashfs
#UNSQUASH=/usr/bin/unsquashfs
UNSQUASH=`which 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 1
