OSDN Git Service

upgrade to 3.6.1
[jnethack/source.git] / sys / vms / vmsfiles.c
index a2a98a2..89e6aff 100644 (file)
@@ -1,5 +1,6 @@
-/* NetHack 3.6 vmsfiles.c      $NHDT-Date: 1432512790 2015/05/25 00:13:10 $  $NHDT-Branch: master $:$NHDT-Revision: 1.9 $ */
+/* NetHack 3.6 vmsfiles.c      $NHDT-Date: 1449801740 2015/12/11 02:42:20 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.10 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
+/*-Copyright (c) Robert Patrick Rankin, 2007. */
 /* NetHack may be freely redistributed.  See license for details. */
 
 /*
@@ -29,7 +30,7 @@ int FDECL(c__translate, (int));
 extern unsigned long sys$parse(), sys$search(), sys$enter(), sys$remove();
 extern int VDECL(lib$match_cond, (int, int, ...));
 
-#define vms_success(sts) ((sts) &1)          /* odd, */
+#define vms_success(sts) ((sts) & 1)         /* odd, */
 #define vms_failure(sts) (!vms_success(sts)) /* even */
 
 /* vms_link() -- create an additional directory for an existing file */
@@ -208,30 +209,30 @@ const char *d1, *d2;
         f2.fab$b_fns = strlen(f2.fab$l_fna = (char *) d2);
         f1.fab$l_nam = (genericptr_t) &n1; /* link nam to fab */
         f2.fab$l_nam = (genericptr_t) &n2;
-        n1.nam$b_nop = n2.nam$b_nop =
-            NAM$M_NOCONCEAL; /* want true device name */
-
-        return (
-            vms_success(sys$parse(&f1)) && vms_success(sys$parse(&f2))
-            && n1.nam$t_dvi[0] == n2.nam$t_dvi[0]
-            && !strncmp(&n1.nam$t_dvi[1], &n2.nam$t_dvi[1], n1.nam$t_dvi[0])
-            && !memcmp((genericptr_t) n1.nam$w_did,
-                       (genericptr_t) n2.nam$w_did,
-                       sizeof n1.nam$w_did)); /*{ short nam$w_did[3]; }*/
+        /* want true device name */
+        n1.nam$b_nop = n2.nam$b_nop = NAM$M_NOCONCEAL;
+
+        return (vms_success(sys$parse(&f1)) && vms_success(sys$parse(&f2))
+                && n1.nam$t_dvi[0] == n2.nam$t_dvi[0]
+                && !strncmp(&n1.nam$t_dvi[1], &n2.nam$t_dvi[1],
+                            n1.nam$t_dvi[0])
+                && !memcmp((genericptr_t) n1.nam$w_did,
+                           (genericptr_t) n2.nam$w_did,
+                           sizeof n1.nam$w_did)); /*{ short nam$w_did[3]; }*/
     }
 }
 
 /*
  * c__translate -- substitute for VAXCRTL routine C$$TRANSLATE.
  *
- *     Try to convert a VMS status code into its Unix equivalent,
- *     then set `errno' to that value; use EVMSERR if there's no
- *     appropriate translation; set `vaxc$errno' to the original
- *     status code regardless.
+ *      Try to convert a VMS status code into its Unix equivalent,
+ *      then set `errno' to that value; use EVMSERR if there's no
+ *      appropriate translation; set `vaxc$errno' to the original
+ *      status code regardless.
  *
- *     These translations match only a subset of VAXCRTL's lookup
- *     table, but work even if the severity has been adjusted or
- *     the inhibit-message bit has been set.
+ *      These translations match only a subset of VAXCRTL's lookup
+ *      table, but work even if the severity has been adjusted or
+ *      the inhibit-message bit has been set.
  */
 #include <errno.h>
 #include <ssdef.h>
@@ -251,37 +252,46 @@ int code;
 {
     register int trans;
 
+/* clang-format off */
+/* *INDENT-OFF* */
     switch ((code & 0x0FFFFFF8) >> 3) { /* strip upper 4 and bottom 3 bits */
-        CASE2(RMS$_PRV, SS$_NOPRIV) : VALUE(EPERM); /* not owner */
-        CASE2(RMS$_DNF, RMS$_DIR)
-            : CASE2(RMS$_FNF, RMS$_FND)
-            : CASE1(SS$_NOSUCHFILE)
-            : VALUE(ENOENT); /* no such file or directory */
-        CASE2(RMS$_IFI, RMS$_ISI) : VALUE(EIO); /* i/o error */
-        CASE1(RMS$_DEV)
-            : CASE2(SS$_NOSUCHDEV, SS$_DEVNOTMOUNT)
-            : VALUE(ENXIO); /* no such device or address codes */
-        CASE1(RMS$_DME)
-            : /* CASE1(LIB$INSVIRMEM): */
-              CASE2(SS$_VASFULL, SS$_INSFWSL)
-            : VALUE(ENOMEM);               /* not enough core */
-        CASE1(SS$_ACCVIO) : VALUE(EFAULT); /* bad address */
-        CASE2(RMS$_DNR, SS$_DEVASSIGN)
-            : CASE2(SS$_DEVALLOC, SS$_DEVALRALLOC)
-            : CASE2(SS$_DEVMOUNT, SS$_DEVACTIVE)
-            : VALUE(EBUSY); /* mount device busy codes to name a few */
-        CASE2(RMS$_FEX, SS$_FILALRACC) : VALUE(EEXIST); /* file exists */
-        CASE2(RMS$_IDR, SS$_BADIRECTORY)
-            : VALUE(ENOTDIR);                /* not a directory */
-        CASE1(SS$_NOIOCHAN) : VALUE(EMFILE); /* too many open files */
-        CASE1(RMS$_FUL)
-            : CASE2(SS$_DEVICEFULL, SS$_EXDISKQUOTA)
-            : VALUE(ENOSPC); /* no space left on disk codes */
-        CASE2(RMS$_WLK, SS$_WRITLCK)
-            : VALUE(EROFS); /* read-only file system */
+    CASE2(RMS$_PRV, SS$_NOPRIV):
+        VALUE(EPERM); /* not owner */
+    CASE2(RMS$_DNF, RMS$_DIR):
+    CASE2(RMS$_FNF, RMS$_FND):
+    CASE1(SS$_NOSUCHFILE):
+        VALUE(ENOENT); /* no such file or directory */
+    CASE2(RMS$_IFI, RMS$_ISI):
+        VALUE(EIO); /* i/o error */
+    CASE1(RMS$_DEV):
+    CASE2(SS$_NOSUCHDEV, SS$_DEVNOTMOUNT):
+        VALUE(ENXIO); /* no such device or address codes */
+    CASE1(RMS$_DME):
+ /* CASE1(LIB$INSVIRMEM): */
+    CASE2(SS$_VASFULL, SS$_INSFWSL):
+        VALUE(ENOMEM); /* not enough core */
+    CASE1(SS$_ACCVIO):
+        VALUE(EFAULT); /* bad address */
+    CASE2(RMS$_DNR, SS$_DEVASSIGN):
+    CASE2(SS$_DEVALLOC, SS$_DEVALRALLOC):
+    CASE2(SS$_DEVMOUNT, SS$_DEVACTIVE):
+        VALUE(EBUSY); /* mount device busy codes to name a few */
+    CASE2(RMS$_FEX, SS$_FILALRACC):
+        VALUE(EEXIST); /* file exists */
+    CASE2(RMS$_IDR, SS$_BADIRECTORY):
+        VALUE(ENOTDIR); /* not a directory */
+    CASE1(SS$_NOIOCHAN):
+        VALUE(EMFILE); /* too many open files */
+    CASE1(RMS$_FUL):
+    CASE2(SS$_DEVICEFULL, SS$_EXDISKQUOTA):
+        VALUE(ENOSPC); /* no space left on disk codes */
+    CASE2(RMS$_WLK, SS$_WRITLCK):
+        VALUE(EROFS); /* read-only file system */
     default:
         VALUE(EVMSERR);
     };
+/* clang-format on */
+/* *INDENT-ON* */
 
     errno = trans;
     vaxc$errno = code;