Ticket #2376: mc-extfs-uace-v3.patch
File mc-extfs-uace-v3.patch, 2.0 KB (added by eugenesan, 14 years ago) |
---|
-
/usr/lib/mc/extfs.d/uace
old new 2 2 3 3 # 4 4 # ACE Virtual filesystem executive v0.1 5 # Works with unace v2.5 6 7 # Copyright (C) 2008 Jacques Pelletier 5 # Works with unace-nonfree v2.5 6 # 7 # Copyright (C) 2008 Jacques Pelletier <jpelletier@ieee.org> 8 # Copyright (C) 2010 Eugene San (eugenesan) <eugenesan@gmail.com 8 9 # May be distributed under the terms of the GNU Public License 9 # <jpelletier@ieee.org>10 10 # 11 11 12 12 # Define your awk … … 17 17 # ACE_PUT="unace ?" not available 18 18 19 19 # The 'list' command executive 20 21 # Unace: DD.MM.YY HH.MM packed size ratio file 22 # ls: 20 # unace: DD.MM.YY HH.MM packed size ratio filename 21 # list: -rw-r--r-- 1 uid gid size MM/DD/CCYY HH:MM filename 23 22 mc_ace_fs_list() 24 23 { 25 $ACE_LIST "$1" | gawk -v uid=${UID-0}'26 BEGIN { Month="JanFebMarAprMayJunJulAugSepOctNovDec"}27 /%/ { 24 $ACE_LIST "$1" | gawk -v uid=`id -u` -v gid=`id -g` ' 25 BEGIN { } 26 /%/ { 28 27 split($1,date,".") 29 28 30 29 if (date[3] > 50) … … 32 31 else 33 32 date[3]=date[3] + 2000 34 33 35 printf "-rw-r--r-- 1 %-8d %-8d %8d %s %2d %4d %s %s\n", uid, 0, $3, substr(Month,3*(date[2]-1)+1,3),date[1],date[3], $2, $6 34 printf "-rw-r--r-- 1 %s %s %d %02d/%02d/%04d %s", uid, gid, $4, date[2],date[1],date[3], $2 35 for (i = 6; i <= NF; i++) printf " %s", $i 36 printf "\n" 36 37 }' 2>/dev/null 37 38 exit 0 38 39 } 39 40 40 41 # Command: copyout archivename storedfilename extractto 41 42 mc_ace_fs_copyout() 42 43 { 43 $ACE_GET "$1" "$2" > /dev/null 2>&1 44 mv "$2" "$3" 44 cd "$(dirname "${3}")" && \ 45 rm -f ${2} ${3} && \ 46 $ACE_GET "$1" "$2" > /dev/null 2>&1 && \ 47 mv "$2" "$3" && \ 48 exit 0 45 49 } 46 50 47 51 # The main routine … … 51 55 shift 52 56 53 57 case "$cmd" in 54 list)mc_ace_fs_list "$@" ;;55 copyout)mc_ace_fs_copyout "$@" ;;56 *)exit 1 ;;58 list) mc_ace_fs_list "$@" ;; 59 copyout) echo $(pwd) $@ > /tmp/uace.log; mc_ace_fs_copyout "$@" ;; 60 *) exit 1 ;; 57 61 esac 58 62 exit 0