summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2009-06-17 21:23:49 -0500
committerCraig A. Berry <craigberry@mac.com>2009-06-17 21:23:49 -0500
commit5ad5b34cb2af84d4f37219a5dee752fca0459151 (patch)
tree55d7df3479f0c50ea746ffb15e3c96eced23f866 /vms
parent9441003632c1655e69cacf0e741f01d3190ca6d0 (diff)
downloadperl-5ad5b34cb2af84d4f37219a5dee752fca0459151.tar.gz
Handle the rare but legal angle bracket in unixify.
We have been getting: $ perl -e "print VMS::Filespec::unixify('foo:<bar>');" /foo/<bar/ but should be (and now are) getting: $ perl -e "print VMS::Filespec::unixify('foo:<bar>');" /foo/bar/
Diffstat (limited to 'vms')
-rw-r--r--vms/ext/filespec.t1
-rw-r--r--vms/vms.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/vms/ext/filespec.t b/vms/ext/filespec.t
index 5dd27c9b9d..b40cc816f3 100644
--- a/vms/ext/filespec.t
+++ b/vms/ext/filespec.t
@@ -83,6 +83,7 @@ __DATA__
# Basic VMS to Unix filespecs
__some_:[__where_.__over_]__the_.__rainbow_ unixify /__some_/__where_/__over_/__the_.__rainbow_ ^
+__some_:<__where_.__over_>__the_.__rainbow_ unixify /__some_/__where_/__over_/__the_.__rainbow_ ^
[.__some_.__where_.__over_]__the_.__rainbow_ unixify __some_/__where_/__over_/__the_.__rainbow_ ^
[-.__some_.__where_.__over_]__the_.__rainbow_ unixify ../__some_/__where_/__over_/__the_.__rainbow_ ^
[.__some_.--.__where_.__over_]__the_.__rainbow_ unixify __some_/../../__where_/__over_/__the_.__rainbow_ ^
diff --git a/vms/vms.c b/vms/vms.c
index 0896934634..9e94935692 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -7346,7 +7346,7 @@ static char *int_tounixspec(const char *spec, char *rslt, int * utf8_fl)
}
if (*cp2 == ':') {
*(cp1++) = '/';
- if (*(cp2+1) == '[') cp2++;
+ if (*(cp2+1) == '[' || *(cp2+1) == '<') cp2++;
}
else if (*cp2 == ']' || *cp2 == '>') {
if (*(cp1-1) != '/') *(cp1++) = '/'; /* Don't double after ellipsis */