summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorJohn E. Malmberg <wb8tyw@qsl.net>2009-06-04 08:46:50 -0500
committerH.Merijn Brand <h.m.brand@xs4all.nl>2009-06-04 16:11:02 +0200
commit30e682852bf42358156ed62e06e91f75e9f5b807 (patch)
tree8380f895e6283b9bc987a503ec0fc6666ab37e51 /vms
parent1be14c39f70bc8c2f895cdd9147c1c0cc33589df (diff)
downloadperl-30e682852bf42358156ed62e06e91f75e9f5b807.tar.gz
vms.c EFS logical name fix.
This patch fixes an issue that Craig Berry found in the handling of logical names of the form foo = "device:[dir]" when the EFS character set is enabled. Regards, -John wb8tyw@qsl.net Personal Opinion Only Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Diffstat (limited to 'vms')
-rw-r--r--vms/vms.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/vms/vms.c b/vms/vms.c
index 10ee36b0df..0896934634 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -8231,7 +8231,7 @@ int sts, v_len, r_len, d_len, n_len, e_len, vs_len;
* special device files.
*/
- if ((add_6zero == 0) && (*nextslash == '/') &&
+ if (!islnm && (add_6zero == 0) && (*nextslash == '/') &&
(&nextslash[1] == unixend)) {
/* No real directory present */
add_6zero = 1;
@@ -8491,7 +8491,7 @@ int sts, v_len, r_len, d_len, n_len, e_len, vs_len;
vmsptr2 = vmsptr - 1;
if ((vmslen > 1) &&
(*vmsptr2 != ']') && (*vmsptr2 != '*') && (*vmsptr2 != '%') &&
- (*vmsptr2 != ')') && (*lastdot != '.')) {
+ (*vmsptr2 != ')') && (*lastdot != '.') && (*vmsptr2 != ':')) {
*vmsptr++ = '.';
vmslen++;
}
@@ -8677,7 +8677,7 @@ static char *int_tovmsspec
}
}
-/* If POSIX mode active, handle the conversion */
+/* If EFS charset mode active, handle the conversion */
#if __CRTL_VER >= 80200000 && !defined(__VAX)
if (decc_efs_charset) {
posix_to_vmsspec_hardway(rslt, rslt_len, path, dir_flag, utf8_flag);