[PATCH] extfs scripts fixes



Hi. I've checked any tried to fix all current mc extfs scrips. Results
can be seen in the patch attached.

Every change is explained in the updated extfs-status document (also
attached). There are some clues for repository admin there, labeled
'CVS:'

BTW it would be great if someone with an RPM system could test 'rpms'
and 'trpm' scripts and send any remarks/patches.

Regards
alpha

-- 

  _.|._ |_  _.    : Adam Byrtek, alpha@(irc.pl|debian.org)
 (_|||_)| |(_|    : gg 1802819, pgp 0xB25952C0
     |            : jid alpha.jabberpl.org
MULTIPLE FILES:
fixed error handling: removed 2>/dev/null to pass errors to mc
without this if something wrong occurs (for example uzip or awk not exists), 
mc shows only empty archive, there is no error message
================


a (mtools)
---------

DONE: removed error redirection to /dev/null
now you get a message when sth is wrong
works ok

apt
---

DONE: 'millenium bug' parse error fixed
added non-interactive remove using dpkg
tested - works ok


audio
---

DONE: quited mode turned on
track number padded with zeroes (track-1 = track-01)
   (so the tracks are sorted)
tested, works ok

bpp
---
could not test

deb
---

DONE: added note about hard links
install message changed a little
works ok

CVS: somebody should 'mv deb.in deb' - because deb.in
doesn't use any autoconf variables


deba, debd
----------

DONE: 'millenium bug' fixed
added note about apt extfs
deba - redirected sterr of command that could fail
debd - LANG=C changed into LC_ALL=C to fix dates
messages changed a little
works ok


dpkg
---

DONE: perl 'millenium bug' fixed


ftplist
-------

DONE: date (locale) problem fixed
works ok


hp48
---
could not test


lslR
---

DONE: added export LC_ALL="C"


mailfs
---
list: wrong 'file size'
copyout: ok, but with f3 some mails are being trimmed (strange):

>From flaverey3w mail-online dk  Tue Nov 19 09:34:25 2002
Return-Path: <flaverey3w mail-online dk>
Delivered-

patchfs
---

works with SIMPLE unified diff right now.

rpm
---
ok

rpms
---
not checked - need somebody with rpm system


trpm
---
not checked - need somebody with rpm system

uar
---
ok

uarj
---
not tested

CVS: mv arj arj.in (uses awk)

ucpio
---
ok

uha
---
not tested

ulha
---
ok

uzip
---
ok

urar
---

DONE: -p arg to 'cp' removed (it breaks permisions)
works ok


uzoo
----

DONE: 'dirty hack' cleanup (create file in /tmp, not ~/.mc)
works ok



=========
TODO LATER:

- audio: add cddb support
- patchfs: rewrite
- fix mailfs


TO TEST:

- rpms
- trpm
- uarj
diff -u extfs/a extfs.alpha/a
--- extfs/a	2002-11-08 19:06:15.000000000 +0100
+++ extfs.alpha/a	2002-12-08 14:04:24.000000000 +0100
@@ -29,29 +29,29 @@
   /mkdir/ && do {
     shift; shift;
     exit 1 if scalar(@ARGV) != 1;
-    system("$mmd $disk:/$ARGV[0] >/dev/null 2>&1");
+    system("$mmd $disk:/$ARGV[0] >/dev/null");
     exit 0; };
   /rmdir/ && do {
     shift; shift;
     exit 1 if scalar(@ARGV) != 1;
-    system("$mrd $disk:/$ARGV[0] >/dev/null 2>&1");
+    system("$mrd $disk:/$ARGV[0] >/dev/null");
     exit 0; };
   /rm/ && do {
     shift; shift;
     exit 1 if scalar(@ARGV) != 1;
-    system("$mdel $disk:/$ARGV[0] >/dev/null 2>&1");
+    system("$mdel $disk:/$ARGV[0] >/dev/null");
     exit 0; };
   /copyout/ && do {
     shift; shift;
     exit 1 if scalar(@ARGV) != 2;
     ( $src, $dest ) = @ARGV;
-    system("$mcopy $disk:/$src $dest >/dev/null 2>&1");
+    system("$mcopy $disk:/$src $dest >/dev/null");
     exit 0; };
   /copyin/ && do {
     shift; shift;
     exit 1 if scalar(@ARGV) != 2;
     ( $dest, $src ) = @ARGV;
-    system("$mcopy $src $disk:/$dest >/dev/null 2>&1");
+    system("$mcopy $src $disk:/$dest >/dev/null");
     exit 0; };
   /.*/ && do {                               # an unfamiliar command
     exit 1; };
diff -u extfs/apt extfs.alpha/apt
--- extfs/apt	2000-01-03 00:48:55.000000000 +0100
+++ extfs.alpha/apt	2002-12-08 18:07:39.000000000 +0100
@@ -11,7 +11,7 @@
     my ($dt) = @_;
     my (@time);
     @time = localtime($dt);
-    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1];
+    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, $time[2], $time[1];
     return $bt;
 }
 
@@ -296,13 +296,13 @@
        system("rm -f /etc/apt/apt.conf");
     } elsif( $archive eq 'sources.list' ) {
        system("rm -f /etc/apt/sources.list");
-# This interact with user - it can't be execute :-(
-#    } elsif( $archive =~ /\.deb[ad]?$/ ) {
-#       my $name = $archive;
-#       $name =~ s%.*/%%g;
-#       $name =~ s%_.*%%g;
-#       system("apt-get remove $name");
-#       die("extfs: $archive: Operation not permitted\n") if $? != 0;
+    } elsif( $archive =~ /\.debd?$/ ) {
+       # uncommented and changed to use dpkg - alpha
+       my $name = $archive;
+       $name =~ s%.*/%%g;
+       $name =~ s%_.*%%g;
+       system("dpkg --remove $name >/dev/null");
+       die("extfs: $archive: Operation not permitted\n") if $? != 0;
     } else {
        die "extfs: $archive: Operation not permitted\n";
     }
@@ -312,11 +312,10 @@
 $pressupdate=<<EOInstall;
 
                               WARNING
-     Don\'t use this method if you are not willing to retrieve new lists
-                           of packages.
+  Don\'t use this method if you don't want to retrieve new lists of packages.
+  ==========================================================================
 
 This is not a real file. It is a way to retrieve new lists of packages.
-
 To update this information go back to the panel and press Enter on this file.
 
 EOInstall
@@ -324,10 +323,10 @@
 $pressupgrade=<<EOInstall;
 
                               WARNING
-    Don\'t use this method if you are not willing to perform an upgrade.
+     Don\'t use this method if you are not willing to perform an upgrade.
+     ===================================================================
 
 This is not a real file. It is a way to perform an upgrade.
-
 To upgrade this information go back to the panel and press Enter on this file.
 
 EOInstall
diff -u extfs/audio extfs.alpha/audio
--- extfs/audio	2000-04-10 14:29:30.000000000 +0200
+++ extfs.alpha/audio	2002-12-08 17:24:48.000000000 +0100
@@ -4,23 +4,23 @@
 #
 # (C) 2000 The Free Software Foundation.
 #
-# FIXME: it would be much nicer to use names like track-01.wav, like cdfs does.
-#
 
 audiofs_list ()
 {
 cdparanoia -Q -d $1 2>&1 | grep '^[ 0-9][ 0-9][ 0-9]\.' | while true
     do
     read A B C || break
+    A=`echo $A | sed 's/\.//'`
     SIZE=$[44+$B*2352]
-    echo "-r--r--r--   4 0  0         $SIZE Jan  1 0:00 track${A}wav"
+    if (( $A < 10 )); then A="0$A"; fi
+    echo "-r--r--r--   4 0  0         $SIZE Jan  1 0:00 track-${A}.wav"
     done
 }
 
 audiofs_copyout ()
 {
-TRACK=`echo $2 | sed 's/track//' | sed 's/\.wav//'`
-cdparanoia -d $1 -v $TRACK $3
+    TRACK=`echo $2 | sed 's/track-0*//' | sed 's/\.wav//'`
+    cdparanoia -q -d $1 $TRACK $3 >/dev/null
 }
 
 if [ ! -b $2 ]
diff -u extfs/deb extfs.alpha/deb
--- extfs/deb	2002-12-08 13:56:56.000000000 +0100
+++ extfs.alpha/deb	2002-12-08 17:28:58.000000000 +0100
@@ -23,6 +23,7 @@
 {
 #
 #	CAVEAT: Hard links are listed as if they were symlinks
+#       [hard links are prohibited in debs by Debian Policy - alpha]
 #		Empty directories do not appear at all
 #
 	local($archivename)= _;
@@ -170,10 +171,10 @@
 $pressinstall=<<EOInstall;
 
                               WARNING
-     Don\'t use this method if you are not willing to reinstall everything...
+   Don\'t use this method if you are not willing to reinstall everything...
+   =======================================================================
 
 This is not a real file. It is a way to install the package you are browsing.
-
 To install this package go back to the panel and press Enter on this file.
 
 In Debian systems, a package is automatically upgraded when you install a new
diff -u extfs/deba extfs.alpha/deba
--- extfs/deba	2000-01-03 00:48:55.000000000 +0100
+++ extfs.alpha/deba	2002-12-08 18:02:02.000000000 +0100
@@ -4,14 +4,14 @@
 # This software is under GNU license
 # last modification: 1999-12-08
 #
-# deba
+# deba (part of apt extfs)
 
 sub bt
 {
     my ($dt) = @_;
     my (@time);
     @time = localtime($dt);
-    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1];
+    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, $time[2], $time[1];
     return $bt;
 }
 
@@ -108,7 +108,7 @@
 
        print "-r--r--r--   1 root     root     $info_size $date INFO\n";
 
-       chop($debd = `dpkg -s $archive | grep -i ^Version | sed 's/^version: //i'`);
+       chop($debd = `dpkg -s $archive 2> /dev/null | grep -i ^Version | sed 's/^version: //i'`);
        chop($deba = `apt-cache show $archive | grep -i ^Version | sed 's/^version: //i'`);
        if( ! $debd ) {
            print "-r-xr--r--   1 root     root     $install_size $date INSTALL\n";
@@ -154,22 +154,22 @@
 
 $pressinstall=<<EOInstall;
 
-                                WARNING
-  Don\'t use this method if you are not willing to install this package...
+                              WARNING
+   Don\'t use this method if you are not willing to install this package...
+   =======================================================================
 
 This is not a real file. It is a way to install the package you are browsing.
-
 To install this package go back to the panel and press Enter on this file.
 
 EOInstall
 
 $pressupgrade=<<EOInstall;
 
-                                WARNING
-  Don\'t use this method if you are not willing to upgrade this package...
+                              WARNING
+   Don\'t use this method if you are not willing to upgrade this package...
+   =======================================================================
 
 This is not a real file. It is a way to upgrade the package you are browsing.
-
 To upgrade this package go back to the panel and press Enter on this file.
 
 EOInstall
diff -u extfs/debd extfs.alpha/debd
--- extfs/debd	2000-01-03 00:48:55.000000000 +0100
+++ extfs.alpha/debd	2002-12-08 18:10:36.000000000 +0100
@@ -4,14 +4,14 @@
 # This software is under GNU license
 # last modification: 1999-12-08
 #
-# debd
+# debd (part of apt extfs)
 
 sub bt
 {
     my ($dt) = @_;
     my (@time);
     @time = localtime($dt);
-    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1];
+    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, $time[2], $time[1];
     return $bt;
 }
 
@@ -140,7 +140,7 @@
 
 
 
-       if ( open(PIPEIN, "LANG=C ls -l /var/lib/dpkg/info/$archive.* |") ) {
+       if ( open(PIPEIN, "LC_ALL=C ls -l /var/lib/dpkg/info/$archive.* |") ) {
            while(<PIPEIN>) {
                chop;
                next if /\.list$/;
@@ -270,66 +270,66 @@
 
 $pressremove=<<EOInstall;
 
-                                WARNING
-  Don\'t use this method if you are not willing to remove this package...
+                              WARNING
+   Don\'t use this method if you are not willing to remove this package...
+   ======================================================================
 
 This is not a real file. It is a way to remove the package you are browsing.
-
 To remove this package go back to the panel and press Enter on this file.
 
 EOInstall
 
 $presspurge=<<EOInstall;
 
-                                WARNING
-  Don\'t use this method if you are not willing to purge this package...
+                              WARNING
+    Don\'t use this method if you are not willing to purge this package...
+    =====================================================================
 
 This is not a real file. It is a way to purge the package you are browsing.
-
 To purge this package go back to the panel and press Enter on this file.
 
 EOInstall
 
 $pressreconfigure=<<EOInstall;
 
-                                WARNING
-  Don\'t use this method if you are not willing to reconfigure this package...
+                              WARNING
+ Don\'t use this method if you are not willing to reconfigure this package...
+ ===========================================================================
 
 This is not a real file. It is a way to reconfigure the package you are browsing.
-
 To reconfigure this package go back to the panel and press Enter on this file.
 
 EOInstall
 
 $pressreinstall=<<EOInstall;
 
-                                WARNING
+                              WARNING
   Don\'t use this method if you are not willing to reinstall this package...
+  =========================================================================
 
 This is not a real file. It is a way to reinstall the package you are browsing.
-
 To reinstall this package go back to the panel and press Enter on this file.
 
 EOInstall
 
 $pressselect=<<EOInstall;
 
-                                WARNING
-  Don\'t use this method if you are not willing to select this package...
+                              WARNING
+   Don\'t use this method if you are not willing to select this package...
+   ======================================================================
 
 This is not a real file. It is a way to select the package you are browsing.
-
 To select this package go back to the panel and press Enter on this file.
 
 EOInstall
 
 $pressunselect=<<EOInstall;
 
-                                WARNING
+                              WARNING
   Don\'t use this method if you are not willing to unselect this package...
+  ========================================================================
 
 This is not a real file. It is a way to unselect the package you are browsing.
-
 To unselect this package go back to the panel and press Enter on this file.
 
 EOInstall
diff -u extfs/deb.in extfs.alpha/deb.in
--- extfs/deb.in	2000-01-03 00:50:56.000000000 +0100
+++ extfs.alpha/deb.in	2002-12-08 17:28:55.000000000 +0100
@@ -23,6 +23,7 @@
 {
 #
 #	CAVEAT: Hard links are listed as if they were symlinks
+#       [hard links are prohibited in debs by Debian Policy - alpha]
 #		Empty directories do not appear at all
 #
 	local($archivename)= _;
@@ -170,10 +171,10 @@
 $pressinstall=<<EOInstall;
 
                               WARNING
-     Don\'t use this method if you are not willing to reinstall everything...
+   Don\'t use this method if you are not willing to reinstall everything...
+   =======================================================================
 
 This is not a real file. It is a way to install the package you are browsing.
-
 To install this package go back to the panel and press Enter on this file.
 
 In Debian systems, a package is automatically upgraded when you install a new
diff -u extfs/dpkg extfs.alpha/dpkg
--- extfs/dpkg	2000-01-03 00:48:55.000000000 +0100
+++ extfs.alpha/dpkg	2002-12-08 18:13:43.000000000 +0100
@@ -11,7 +11,7 @@
     my ($dt) = @_;
     my (@time);
     @time = localtime($dt);
-    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1];
+    $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, $time[2], $time[1];
     return $bt;
 }
 
@@ -266,9 +266,9 @@
                               WARNING
      Don\'t use this method if you are not willing to configure all
                      non configured packages.
+     =============================================================
 
 This is not a real file. It is a way to configure all non configured packages.
-
 To configure packages go back to the panel and press Enter on this file.
 
 EOInstall
@@ -278,9 +278,9 @@
                               WARNING
      Don\'t use this method if you are not willing to remove all 
                       unselected packages.
+     ==========================================================
 
 This is not a real file. It is a way to remove all unselected packages.
-
 To remove packages go back to the panel and press Enter on this file.
 
 EOInstall
@@ -290,10 +290,10 @@
                               WARNING
      Don\'t use this method if you are not willing to forget about
                  uninstalled unavailable packages.
+     ============================================================
 
 This is not a real file. It is a way to forget about uninstalled
 unavailable packages.
-
 To forget this information go back to the panel and press Enter on this file.
 
 EOInstall
@@ -303,10 +303,10 @@
                               WARNING
      Don\'t use this method if you are not willing to erase the existing
            information about what packages are available.
+     ==================================================================
 
 This is not a real file. It is a way to erase the existing information
 about what packages are available.
-
 To clear this information go back to the panel and press Enter on this file.
 
 EOInstall
diff -u extfs/ftplist.in extfs.alpha/ftplist.in
--- extfs/ftplist.in	2002-08-19 00:40:37.000000000 +0200
+++ extfs.alpha/ftplist.in	2002-12-08 18:20:10.000000000 +0100
@@ -47,9 +47,11 @@
     }
     printf "lrwxrwxrwx   1 %-8d %-8d %8d %s %2d %5s %s -> %s\n", uid, 0, length(a[5]), a[1], a[2], a[3], a[4], a[5]
 }
-}' 2>/dev/null
+}'
 }
 
+export LC_ALL="C"
+
 case "$1" in
   list) mcftplistfs_list $2; exit 0;;
 esac
diff -u extfs/lslR.in extfs.alpha/lslR.in
--- extfs/lslR.in	2002-02-12 18:47:27.000000000 +0100
+++ extfs.alpha/lslR.in	2002-12-08 18:21:14.000000000 +0100
@@ -3,6 +3,8 @@
 # Based on previous version of lslR
 # Modified by Tomas Novak <tnovak ipex cz>   April 2000
 #   (to allow spaces in filenames)
+#
+# WARNING: assumes that lslR was generated with C locale!
 
 ZCAT="gunzip -c"
 CAT="cat"
@@ -38,9 +40,11 @@
   # Cannot assign to $9, or spaces in the filename would be reduced.
   attr=substr($0, 1, length($0)-length(name))
   printf "%s%s%s\n", attr, dir, name
-}' 2>/dev/null
+}' 
 }
 
+export LC_ALL="C"
+
 case "$1" in
   list) mclslRfs_list "$2"; exit 0;;
 esac
diff -u extfs/uar.in extfs.alpha/uar.in
--- extfs/uar.in	2002-12-07 13:59:25.000000000 +0100
+++ extfs.alpha/uar.in	2002-12-08 17:45:49.000000000 +0100
@@ -26,7 +26,7 @@
                         id[2] = $3;
                 }
                 printf("-%9s 1 %8d %8d %8d %s %s %s %s\n", perms, id[1], id[2], $(NF-5), $(NF-4), $(NF-3), date, $(NF));
-        }' 2>/dev/null
+        }' 
 }
 
 mcarfs_copyout ()
diff -u extfs/uarj extfs.alpha/uarj
--- extfs/uarj	1998-12-16 07:16:27.000000000 +0100
+++ extfs.alpha/uarj	2002-12-08 17:43:29.000000000 +0100
@@ -18,7 +18,7 @@
 path=$1;
 getline;
 printf "-rw-r--r--   1 %-8d %-8d %8d %s-%s %s %s\n", uid, 0, $1, substr($4,4), substr($4,1,2), substr($5,1,5), path
-}' 2>/dev/null
+}'
 }
 
 mcarjfs_copyout ()
diff -u extfs/ucpio.in extfs.alpha/ucpio.in
--- extfs/ucpio.in	1999-05-30 21:20:34.000000000 +0200
+++ extfs.alpha/ucpio.in	2002-12-08 17:42:55.000000000 +0100
@@ -51,7 +51,7 @@
 # FIXME: Try harder to generate a unique directory if this fails
     mkdir -m 0700 $TMPDIR || exit 1
     cd $TMPDIR
-    uni_cat "$1" | cpio -icumd "$2" 2>/dev/null
+    uni_cat "$1" | cpio -icumd "$2" 
     mv "$2" "$3"
     cd /
     rm -rf $TMPDIR
diff -u extfs/uha.in extfs.alpha/uha.in
--- extfs/uha.in	2000-05-09 03:18:31.000000000 +0200
+++ extfs.alpha/uha.in	2002-12-08 17:46:41.000000000 +0100
@@ -8,7 +8,7 @@
 
 mchafs_list ()
 {
- eval $HA lf $1 2>/dev/null |@AWK@ -v uid=${UID-0} '
+ eval $HA lf $1 |@AWK@ -v uid=${UID-0} '
 { date="JanFebMarAprMayJunJulAugSepOctNovDec" }
 /^===========/ {next}
 {
@@ -26,13 +26,13 @@
    $1,1,0,0,filesize, substr(date,(a[2]-1)*3+1,3),a[3],a[1],t[1],t[2],\
    path,filename
   }
-}' 2>/dev/null
+}'
 }
 
 mchafs_copyout ()
 {
     cd /tmp
-    eval $HA xy $1 $2 >/dev/null 2>&1
+    eval $HA xy $1 $2 >/dev/null 
     mv -f $2 $3
 }
 
diff -u extfs/ulha.in extfs.alpha/ulha.in
--- extfs/ulha.in	2001-12-18 23:55:21.000000000 +0100
+++ extfs.alpha/ulha.in	2002-12-08 17:37:45.000000000 +0100
@@ -91,14 +91,14 @@
          next;
       }
 
-   ' 2> /dev/null
+   ' 
 }
 
 # The 'copyout' command executive to copy displayed files to a destination
 
 mc_lha_fs_copyout()
 {
-   $LHA_GET $1 $2 > $3  2> /dev/null
+   $LHA_GET $1 $2 > $3  
 }
 
 # The 'copyin' command executive to add something to the archive
@@ -117,7 +117,7 @@
    [ -e ${DIR2} ] || mkdir -p ${DIR2}
    ln $3 $2       || exit
 
-   $LHA_PUT $1 $2  2> /dev/null
+   $LHA_PUT $1 $2  
    rm -r ${ONE2}
 }
 
@@ -128,7 +128,7 @@
    trap "rm $TMPCMD; rmdir $TMPDIR; exit 0" 1 2 3 4 15
 # FIXME: Try harder to generate a unique directory if this fails
    mkdir -m 0700 $TMPDIR || exit 1
-   $LHA_GET $1 $2 > $TMPCMD  2> /dev/null
+   $LHA_GET $1 $2 > $TMPCMD  
    chmod a+x $TMPCMD  2> /dev/null
    $TMPCMD 2> /dev/null
    rm $TMPCMD
diff -u extfs/urar.in extfs.alpha/urar.in
--- extfs/urar.in	2002-08-26 06:44:20.000000000 +0200
+++ extfs.alpha/urar.in	2002-12-08 17:15:55.000000000 +0100
@@ -41,7 +41,7 @@
 	    $6="-rw-r--r--"
     printf "%s   1 %-8d %-8d %8d %3s %2d %4d %s %s\n", $6, uid, 0, $1, substr(date, (a[2]-1)*3+1, 3), a[1], a[3], $5, str
 }
-}' 2>/dev/null
+}'
 }
 
 mcrarfs_copyin ()
@@ -58,7 +58,8 @@
         mkdir -p "$di" 
     fi
 # (cp -p) to preserve date, but $2 is dated now!
-    cp -p $3 "$3.dir/$2" 
+# [-p breaks permissions, removed - alpha]
+    cp $3 "$3.dir/$2" 
     $RAR a "$1" "$2" >/dev/null
     cd $pwd
     rm -rf $3.dir
@@ -66,7 +67,7 @@
 
 mcrarfs_copyout ()
 {
-    $UNRAR p -c- -inul "$1" "$2" > $3 2>/dev/null
+    $UNRAR p -c- -inul "$1" "$2" > $3 
 }
 
 mcrarfs_mkdir ()
@@ -80,15 +81,15 @@
     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
+    $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
+    $RAR d "$1" "$2" >/dev/null
 }
 
 umask 077
diff -u extfs/uzip.in extfs.alpha/uzip.in
--- extfs/uzip.in	2002-11-28 23:59:52.000000000 +0100
+++ extfs.alpha/uzip.in	2002-12-08 17:40:40.000000000 +0100
@@ -76,7 +76,7 @@
 sub mczipfs_rmdir {
 	my ($qfile) = map { &zipquotemeta($_) } @_;
 	&checkargs(1, 'archive directory', @_);
-	&safesystem("$cmd_delete $qarchive $qfile/ >/dev/null 2>&1", 12);
+	&safesystem("$cmd_delete $qarchive $qfile/ >/dev/null", 12);
   exit;
 }
 
@@ -87,7 +87,7 @@
 	my ($qafile, $qfsfile) = map { &zipquotemeta($_) } @_;
 	&checkargs(1, 'archive file', @_);
 	&checkargs(2, 'local file', @_);
-	&safesystem("$cmd_extract $qarchive $qafile > $qfsfile 2>/dev/null", 11);
+	&safesystem("$cmd_extract $qarchive $qafile > $qfsfile", 11);
   exit;
 }
 
diff -u extfs/uzoo.in extfs.alpha/uzoo.in
--- extfs/uzoo.in	2000-09-21 22:58:11.000000000 +0200
+++ extfs.alpha/uzoo.in	2002-12-08 17:14:38.000000000 +0100
@@ -31,39 +31,32 @@
     printf "drwxr-xr-x   1 %-8d %-8d %8d %s %2d %4d %02d:%02d %s\n", uid, 0, $1, $5, $4, $6, a[1], a[2], $8
 else
     printf "-rw-r--r--   1 %-8d %-8d %8d %s %2d %4d %02d:%02d %s\n", uid, 0, $1, $5, $4, $6, a[1], a[2], $8
-}' 2>/dev/null
+}' 
     exit 0
 }
 
 mczoofs_copyout ()
 {
-    $ZOO xp $1 $2 | tail +6l > $3 2>/dev/null
+    $ZOO xp $1 $2 | tail +6l > $3
     exit 0
 }
 
 # zoo is stupid and won't be happy when the name has no extension.
-# We have to do a small trick :) [pretty dirty, broken hack -- pavel]
-if echo $2 | grep '\.zoo$' >/dev/null; then
-  :
+# We have to do a small trick :)
+
+if echo $2 | grep '\.zoo$' &>/dev/null; then
+  ARCHIVE=$2
 else
-  SYMLINK=$HOME/.mc/temporary.$2.zoo
-  if test -f $SYMLINK; then
-    SYMLINK=$HOME/.mc/temporary.$2.
-  fi
-  if test -f $SYMLINK; then
-    echo "Ugh. I did not expect this to happen. Cleanup your ~/.mc."
-    sleep 5
-    exit 1
-  fi
-  ln -s $2 $SYMLINK
+  SYMLINK=/tmp/mc-uzoo-tmp.zoo
+  ln -fs $2 $SYMLINK || exit 1;
   trap 'rm -f $SYMLINK' 0 1 2 3 5 13 15
-  $2=$SYMLINK
+  ARCHIVE=$SYMLINK
 fi
 
 umask 077
 
 case "$1" in
-  list) mczoofs_list $2; exit $?;;
-  copyout) mczoofs_copyout $2 $3 $4; exit $?;;
+  list) mczoofs_list $ARCHIVE; exit $?;;
+  copyout) mczoofs_copyout $ARCHIVE $3 $4; exit $?;;
 esac
 exit 1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]