X7ROOT File Manager
Current Path:
/usr/libexec/mc/extfs.d
usr
/
libexec
/
mc
/
extfs.d
/
??
..
??
README
(7.29 KB)
??
README.extfs
(1.11 KB)
??
a+
(3.13 KB)
??
apt+
(9.5 KB)
??
audio
(1.29 KB)
??
bpp
(1.18 KB)
??
changesetfs
(2.5 KB)
??
deb
(5.34 KB)
??
deba
(3 KB)
??
debd
(10.26 KB)
??
dpkg+
(8.79 KB)
??
gitfs+
(782 B)
??
hp48+
(3.58 KB)
??
iso9660
(5.65 KB)
??
lslR
(1.38 KB)
??
mailfs
(5.59 KB)
??
patchfs
(10.88 KB)
??
patchsetfs
(2.26 KB)
??
rpm
(13.25 KB)
??
rpms+
(1.47 KB)
??
trpm
(7.65 KB)
??
u7z
(4.71 KB)
??
uace
(1.47 KB)
??
ualz
(1.25 KB)
??
uar
(1.29 KB)
??
uarc
(1.79 KB)
??
uarj
(1.62 KB)
??
ucab
(734 B)
??
uha
(969 B)
??
ulha
(3.78 KB)
??
ulib
(2.76 KB)
??
urar
(4.37 KB)
??
uzip
(14.9 KB)
??
uzoo
(1.56 KB)
Editing: urar
#! /bin/sh # # Written by andrey joukov # (C) 1996 2:5020/337.13@fidonet.org # Updated by christian.gennerat@alcatel.fr 1999 # Andrew V. Samoilov <sav@bcs.zp.ua> 2000 # # Andrew Borodin <aborodin@vmail.ru> # David Haller <dnh@opensuse.org> # 2013: support unrar5 # # beta version 2.0 # # rar and unrar can be found on http://www.rarlabs.com/ RAR=rar # Prefer unrar (freeware). UNRAR=`which unrar 2>/dev/null` [ -z $UNRAR ] && UNRAR=$RAR [ ! -x $UNRAR -a -x $RAR ] && UNRAR=$RAR # Let the test framework hook in: UNRAR=${MC_TEST_EXTFS_LIST_CMD:-$UNRAR} # Determine the $UNRAR version if [ -n "$MC_TEST_EXTFS_UNRAR_VERSION" ]; then # Let the test framework fool us: UNRAR_VERSION=$MC_TEST_EXTFS_UNRAR_VERSION else # Figure it out from rar itself: UNRAR_VERSION=`$UNRAR -cfg- -? | grep "Copyright" | sed -e 's/.*\([0-9]\)\..*/\1/'` fi mcrar4fs_list () { $UNRAR v -c- -cfg- "$1" | gawk -v uid=`id -u` -v gid=`id -g` ' BEGIN { flag=0 } /^-------/ { flag++; if (flag > 1) exit 0; next } flag==1 { str = substr($0, 2) getline split($4, a, "-") if (index($6, "D") != 0) $6="drwxr-xr-x" else if (index($6, ".") != 0) $6="-rw-r--r--" printf "%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n", $6, uid, gid, $1, a[2], a[1], a[3], $5, str }' } mcrar5fs_list () { $UNRAR vt -c- -cfg- "$1" | gawk -F ':' -v uid=`id -u` -v gid=`id -g` ' { ### remove space after the ":" of the field name sub ("^ ", "", $2); } $1 ~ /^ *Name$/ { ### next file name = mtime = size = attrs = ""; delete date; name = $2; ### if the name contains ":", append the rest of the fields if (NF > 2) { for (i = 3; i <= NF; i++) { name = name ":" $i; } } } $1 ~ /^ *mtime$/ { mtime = $2 ":" $3; } $1 ~ /^ *Size$/ { size = $2; } $1 ~ /^ *Attributes$/ { attrs = $2; } $1 ~ /^ *Compression$/ { ### file done, using /^$/ is not so good you ### would have to skip the version stuff first ### get date and time split (mtime, date, " "); time = date[2]; ### cut off seconds from the time sub (",[0-9]*$", "", time); ### split for reordering of the date in the printf below split (date[1], date, "-"); ### mc seems to be able to parse 4 digit years too, so remove if tested # sub ("^..", "", date[1]); ### cut year to 2 digits only ### check/adjust rights if (index (attrs, "D") != 0) { attrs = "drwxr-xr-x"; } else { if (index (attrs, ".") != 0) { attrs = "-rw-r--r--"; } } ### and finally printf ("%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n", attrs, uid, gid, size, date[2], date[3], date[1], time, name); } ' } mcrarfs_list () { [ x$UNRAR_VERSION = x5 ] && mcrar5fs_list "$@" || mcrar4fs_list "$@" } mcrarfs_copyin () { # copyin by christian.gennerat@alcatel.fr # preserve pwd. It is clean, but is it necessary? pwd=`pwd` # Create a directory and copy in it the tmp file with the good name mkdir "$3.dir" cd "$3.dir" di="${2%/*}" # if file is to be written upper in the archive tree, make fake dir if test x"$di" != x"${2##*/}" ; then mkdir -p "$di" fi cp -fp "$3" "$3.dir/$2" $RAR a "$1" "$2" >/dev/null cd "$pwd" rm -rf "$3.dir" } mcrarfs_copyout () { $UNRAR p -p- -c- -cfg- -inul "$1" "$2" > "$3" } mcrarfs_mkdir () { # preserve pwd. It is clean, but is it necessary? pwd=`pwd` # Create a directory and create in it a tmp directory with the good name dir=`mktemp -d "${MC_TMPDIR:-/tmp}/mctmpdir-urar.XXXXXX"` || exit 1 cd "$dir" mkdir -p "$2" # rar cannot create an empty directory touch "$2"/.rarfs $RAR a -r "$1" "$2" >/dev/null $RAR d "$1" "$2/.rarfs" >/dev/null cd "$pwd" rm -rf "$dir" } mcrarfs_rm () { $RAR d "$1" "$2" >/dev/null } umask 077 cmd="$1" shift case "$cmd" in # Workaround for a bug in mc - directories must precede files to # avoid duplicate entries, so we sort output by filenames list) mcrarfs_list "$@" | sort -k 8 ;; rm) mcrarfs_rm "$@" ;; rmdir) mcrarfs_rm "$@" ;; mkdir) mcrarfs_mkdir "$@" ;; copyin) mcrarfs_copyin "$@" ;; copyout) mcrarfs_copyout "$@" ;; *) exit 1 ;; esac exit 0
Upload File
Create Folder