[blead 2009-05-29.22:08:17] vms.c EFS logical name fix.
"John E. Malmberg" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.perl5.porters,gmane.comp.lang.perl.ports.vms |
|---|---|
| Message-ID | <[email protected]> |
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 [email protected] Personal Opinion Only
vms_c.gdiff
(text/plain, 946 B)
--- /rsync_root/perl/vms/vms.c Sun Feb 22 21:22:09 2009
+++ vms/vms.c Tue Jun 2 20:42:26 2009
@@ -8231,7 +8231,7 @@
* 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 @@
vmsptr2 = vmsptr - 1;
if ((vmslen > 1) &&
(*vmsptr2 != ']') && (*vmsptr2 != '*') && (*vmsptr2 != '%') &&
- (*vmsptr2 != ')') && (*lastdot != '.')) {
+ (*vmsptr2 != ')') && (*lastdot != '.') && (*vmsptr2 != ':')) {
*vmsptr++ = '.';
vmslen++;
}
@@ -8677,7 +8677,7 @@
}
}
-/* 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);