Re: [patch@34955] Achive::Tar fix for VMS.

2008-11-30 Thread John E. Malmberg

Craig A. Berry wrote:


On Nov 30, 2008, at 6:04 PM, John E. Malmberg wrote:

Test 04_Resolved_Issues was failing on VMS because it was translating 
".." to "__".  Use vmspath() instead so that dots are escaped if needed.


Also filed as:

http://rt.cpan.org/Public/Bug/Display.html?id=41329



Are you sure it isn't already resolved by this one:

http://rt.cpan.org/Public/Bug/Display.html?id=39933


I did not see that one.  I did not check the resolved queue on 
rt.cpan.org when I looked it up.


I think that using vmspath() is more robust as it will correctly any 
translations that need to be done for converting Unix character sets to 
ODS-2 when needed, and pass them through when they do not need conversions.


This way in ODS-5 mode a directory will not be unexpectedly renamed.

-John
[EMAIL PROTECTED]
Personal Opinion Only




Re: [patch@34955] Achive::Tar fix for VMS.

2008-11-30 Thread Craig A. Berry


On Nov 30, 2008, at 6:04 PM, John E. Malmberg wrote:

Test 04_Resolved_Issues was failing on VMS because it was  
translating ".." to "__".  Use vmspath() instead so that dots are  
escaped if needed.


Also filed as:

http://rt.cpan.org/Public/Bug/Display.html?id=41329



Are you sure it isn't already resolved by this one:

http://rt.cpan.org/Public/Bug/Display.html?id=39933

?


Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
 Brad Leithauser



[patch@34955] Achive::Tar fix for VMS.

2008-11-30 Thread John E. Malmberg
Test 04_Resolved_Issues was failing on VMS because it was translating 
".." to "__".  Use vmspath() instead so that dots are escaped if needed.


Also filed as:

http://rt.cpan.org/Public/Bug/Display.html?id=41329

-John
[EMAIL PROTECTED]
Personal Opinion Only
--- /rsync_root/perl/lib/Archive/Tar.pm Wed Oct 15 08:50:32 2008
+++ lib/Archive/Tar.pm  Sun Nov 30 17:33:31 2008
@@ -690,9 +690,9 @@
 }
 
 
-### '.' is the directory delimiter, of which the first one has to
-### be escaped/changed.
-map tr/\./_/, @dirs if ON_VMS;
+### '.' is the directory delimiter on VMS, of which the first one
+### has to be escaped/changed by vmspath
+map $_ = VMS::Filespec::vmspath($_), @dirs if ON_VMS;
 
 my ($cwd_vol,$cwd_dir,$cwd_file) 
 = File::Spec->splitpath( $cwd );