vms.c backslash efs and long name fixes
John Malmberg [Thu, 8 Jan 2009 22:37:19 +0000 (16:37 -0600)]
Message-id: <496552AF.7040702@gmail.com>

This fixes the support for the backslash in a file name as it shows up
in the ExtUtils tests.

Also the flag for rename to work on efs file specifications was
incorrectly the bit number instead of the mask value.

vms/vms.c

index d3ed53a..32a40af 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -630,10 +630,11 @@ int utf8_flag;
     case ']':
     case '%':
     case '^':
+    case '\\':
         /* Don't escape again if following character is 
          * already something we escape.
          */
-        if (strchr(".~!#&\'`()+@{},;[]%^=_", *(inspec+1))) {
+        if (strchr(".~!#&\'`()+@{},;[]%^=_\\", *(inspec+1))) {
            *outspec = *inspec;
            *output_cnt = 1;
            return 1;
@@ -5346,7 +5347,7 @@ Stat_t dst_st;
 
        flags = 0;
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-       flags |= 2; /* LIB$M_FIL_LONG_NAMES */
+       flags |= 4; /* LIB$M_FIL_LONG_NAMES (bit 2) */
 #endif
 
        sts = lib$rename_file(&old_file_dsc,