Test both the scalar and list contexts.
[p5sagit/p5-mst-13.2.git] / vms / vmsish.h
index a09d2be..e53c604 100644 (file)
 #define COMPLEX_STATUS 1       /* We track both "POSIX" and VMS values */
 
 #define HINT_V_VMSISH          24
-#define HINT_M_VMSISH_STATUS   0x20000000 /* system, $? return VMS status */
-#define HINT_M_VMSISH_EXIT     0x40000000 /* exit(1) ==> SS$_NORMAL */
+#define HINT_M_VMSISH_HUSHED   0x20000000 /* stifle error msgs on exit */
+#define HINT_M_VMSISH_STATUS   0x40000000 /* system, $? return VMS status */
 #define HINT_M_VMSISH_TIME     0x80000000 /* times are local, not UTC */
 #define NATIVE_HINTS           (PL_hints >> HINT_V_VMSISH)  /* used in op.c */
 
 #define TEST_VMSISH(h) (PL_curcop->op_private & ((h) >> HINT_V_VMSISH))
+#define VMSISH_HUSHED  TEST_VMSISH(HINT_M_VMSISH_HUSHED)
 #define VMSISH_STATUS  TEST_VMSISH(HINT_M_VMSISH_STATUS)
-#define VMSISH_EXIT    TEST_VMSISH(HINT_M_VMSISH_EXIT)
 #define VMSISH_TIME    TEST_VMSISH(HINT_M_VMSISH_TIME)
 
 /* Flags for vmstrnenv() */
 
 #define BIT_BUCKET "_NLA0:"
 #define PERL_SYS_INIT(c,v)     vms_image_init((c),(v)); MALLOC_INIT
-#define PERL_SYS_TERM()                MALLOC_TERM
+#define PERL_SYS_TERM()                OP_REFCNT_TERM; MALLOC_TERM
 #define dXSUB_SYS
 #define HAS_KILL
 #define HAS_WAIT
   
 /* USEMYBINMODE
  *     This symbol, if defined, indicates that the program should
- *     use the routine my_binmode(FILE *fp, char iotype) to insure
+ *     use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
  *     that a file is in "binary" mode -- that is, that no translation
  *     of bytes occurs on read or write operations.
  */
@@ -717,4 +717,9 @@ typedef char __VMS_SEPYTOTORP__;
 #undef HAS_NTOHL
 #endif
 
+/* The C RTL manual says to undef the macro for DEC C 5.2 and lower. */
+#if defined(fileno) && defined(__DECC_VER) && __DECC_VER < 50300000
+#  undef fileno 
+#endif 
+
 #endif  /* __vmsish_h_included */