diff options
author | Charles Bailey <bailey@newman.upenn.edu> | 2000-02-27 05:05:35 +0000 |
---|---|---|
committer | bailey <bailey@newman.upenn.edu> | 2000-02-27 05:05:35 +0000 |
commit | 46726cbe13a1bbdca5ff648034840cd7466b80c5 (patch) | |
tree | 0d4ed0a86256c9537e001f74c4375215cb47618a /vms | |
parent | aa779de11089a0113274275ef26a76ef1270014a (diff) | |
download | perl-46726cbe13a1bbdca5ff648034840cd7466b80c5.tar.gz |
Add new File::Spec::VMS methods
Don't add implicit device in VMS <-> Unix filespec translation
Make File::Spec::Unix{rel2abs|abs2rel} OS-independent
p4raw-id: //depot/vmsperl@5281
Diffstat (limited to 'vms')
-rw-r--r-- | vms/vms.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -2117,16 +2117,12 @@ static char *do_tovmsspec(char *path, char *buf, int ts) { else if (!infront && *cp2 == '.') { if (cp2+1 == dirend || *(cp2+1) == '\0') { cp2++; break; } else if (*(cp2+1) == '/') cp2++; /* skip over "./" - it's redundant */ - else if (*(cp2+1) == '.' && (*(cp2+2) == '/' || *(cp2+2) == '\0')) { - if (*(cp1-1) == '-' || *(cp1-1) == '[') *(cp1++) = '-'; /* handle "../" */ + else if (*(cp2+1) == '.' && (*(cp2+2) == '/' || *(cp2+2) == '\0')) { /* handle "../" */ + if (*(cp1-1) == '-' || *(cp1-1) == '[') *(cp1++) = '-'; else if (*(cp1-2) == '[') *(cp1-1) = '-'; - else { /* back up over previous directory name */ - cp1--; - while (*(cp1-1) != '.' && *(cp1-1) != '[') cp1--; - if (*(cp1-1) == '[') { - memcpy(cp1,"000000.",7); - cp1 += 7; - } + else { +/* if (*(cp1-1) != '.') *(cp1++) = '.'; */ + *(cp1++) = '-'; } cp2 += 2; if (cp2 == dirend) break; |