diff options
author | Craig A. Berry <craigberry@mac.com> | 2012-11-26 07:07:21 -0600 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2012-11-26 07:07:21 -0600 |
commit | 06099f79acc9684bcbd2efbb1efe56ce80c65f08 (patch) | |
tree | 5e1af1b007d5c3ca70e76befce453c7b9af88bd0 | |
parent | 05a206c836e4d4e324996ada45136cc40a68126c (diff) | |
download | perl-06099f79acc9684bcbd2efbb1efe56ce80c65f08.tar.gz |
Consider /... a directory component with EFS on VMS.
For some reason the omnibus patch (360732b5267d5dfe) that brought
Extended Filename Syntax support to the VMS port considered three
dots part of the filename portion rather than part of the
directory portion when converting a Unix-format path to VMS format.
There's no reason this should be different with EFS, so make it
the same as without EFS, which gets two TODO tests passing.
-rwxr-xr-x | vms/ext/filespec.t | 4 | ||||
-rw-r--r-- | vms/vms.c | 4 |
2 files changed, 3 insertions, 5 deletions
diff --git a/vms/ext/filespec.t b/vms/ext/filespec.t index 86cdc769c2..f31d9b731e 100755 --- a/vms/ext/filespec.t +++ b/vms/ext/filespec.t @@ -116,8 +116,8 @@ __some_/../../__where_/__over_/__the_.__rainbow_ vmsify [.__some_.--.__wh .../__some_/__where_/__over_/__the_.__rainbow_ vmsify [...__some_.__where_.__over_]__the_.__rainbow_ ^ __some_/.../__where_/__over_/__the_.__rainbow_ vmsify [.__some_...__where_.__over_]__the_.__rainbow_ ^ /__some_/.../__where_/__over_/__the_.__rainbow_ vmsify __some_:[...__where_.__over_]__the_.__rainbow_ ^ -__some_/__where_/... vmsify [.__some_.__where_...] ^* -/__where_/... vmsify __where_:[...] ^* +__some_/__where_/... vmsify [.__some_.__where_...] ^ +/__where_/... vmsify __where_:[...] ^ . vmsify [] ^ .. vmsify [-] ^ ../.. vmsify [--] ^ @@ -8383,9 +8383,7 @@ static char *int_tovmsspec else if (*(dirend+1) == '.') { /* do we have trailing "/." or "/.." or "/..."? */ if (!*(dirend+2)) dirend +=2; if (*(dirend+2) == '.' && !*(dirend+3)) dirend += 3; - if (decc_efs_charset == 0) { - if (*(dirend+2) == '.' && *(dirend+3) == '.' && !*(dirend+4)) dirend += 4; - } + if (*(dirend+2) == '.' && *(dirend+3) == '.' && !*(dirend+4)) dirend += 4; } cp1 = rslt; |