New patchfs script
Adam Byrtek 'alpha'
alpha at student.uci.agh.edu.pl
Wed Dec 11 15:14:43 UTC 2002
On Wed, Dec 11, 2002 at 04:42:35PM +0200, Andrew V. Samoilov wrote:
> - copyout ($ARGV[2], $ARGV[3]);
> + copyout ($ARGV[2], quotemeta ($ARGV[3]));
The second chunk is invalid.
$ARGV[3] is used only for 'open', and it doesn't need quoting:
bash-2.05b$ perl -we 'open TMP, ">". quotemeta("Q|Q|\\|Q"); print TMP
"xxx\n"; close TMP'
bash-2.05b$ ls Q*
Q\|Q\|\\\|Q
Fixed in attachment.
--
_.|._ |_ _. : Adam Byrtek, alpha@(irc.pl|debian.org)
(_|||_)| |(_| : gg 1802819, pgp 0xB25952C0
| : jid alpha.jabberpl.org
-------------- next part --------------
Index: patchfs
===================================================================
RCS file: /cvs/gnome/mc/vfs/extfs/patchfs,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- patchfs 9 Dec 2002 20:16:34 -0000 1.6
+++ patchfs 11 Dec 2002 11:03:26 -0000 1.7
@@ -124,14 +124,15 @@
my $tmp;
-$_=`$file $ARGV[1]`;
+my $quoted_name = quotemeta $ARGV[1];
+$_=`$file $quoted_name`;
if (/bzip/) {
$tmp=tmpnam();
- system "$bzcat $ARGV[1] > $tmp";
+ system "$bzcat $quoted_name > $tmp";
open I, "< $tmp";
} elsif (/gzip/) {
$tmp=tmpnam();
- system "$gzcat $ARGV[1] > $tmp";
+ system "$gzcat $quoted_name > $tmp";
open I, "< $tmp";
} else {
open I, "< $ARGV[1]";
More information about the mc-devel
mailing list