#!/bin/sh

#### List ####
squashfs_list () # $1 is ArchiveName
{
  unsquashfs -ll "$1" |awk '//{gsub("^[^ ]+ ","& 1 ");sub("/","      ");if ($8 != "squashfs-root"){sub("squashfs-root/","",$8);print $0}}'
}
#### CopyOut ####
squashfs_copyout () # $1,$2,$3 are ArchiveName FilePathInArchive ExtractPath
{
  TMPDIR=/tmp/mctmpdir.$$
  mkdir $TMPDIR
  (cd $TMPDIR ; unsquashfs "$1" "$2" ; mv "squashfs-root/$2" "$3" ) 2>/dev/null
  rm -rf $TMPDIR
}
#### Main ####
umask 077
case "$1" in
  list)
	squashfs_list $2
	exit 0
	;;
  copyout)
	squashfs_copyout $2 $3 $4
	exit 0
	;;
esac
exit 1

