if (shmctl(id, IPC_STAT, &shmds) == -1)
return -1;
if (mpos < 0 || msize < 0 || mpos + msize > shmds.shm_segsz) {
- SETERRNO(EFAULT,SS$_ACCVIO); /* can't do as caller requested */
+ SETERRNO(EFAULT,VMS_SS_ACCVIO); /* can't do as caller requested */
return -1;
}
shm = (char *)shmat(id, (char*)NULL, (optype == OP_SHMREAD) ? SHM_RDONLY : 0);
* compilers which get huffy about dollars in identifiers,
* which is common practise in VMS. The definitions in the
* non-VMS branch are not used -- but their only point is to
- * be something non-dollared. */
+ * be something non-dollared. Neither are all instances of
+ * dollared variables hidden this way, only at the spots where
+ * non-VMS platforms see them. */
#ifdef VMS
-#define VMS_SS_NORMAL SS$_NORMAL
-#define VMS_SS_IVCHAN SS$_IVCHAN
-#define VMS_RMS_IFI RMS$_FAC
-#define VMS_RMS_IFI RMS$_IFI
-#else
-#define VMS_LIB_INVARG EINVAL
-#define VMS_SS_NORMAL 0
-#define VMS_SS_IVCHAN EBADF
-#define VMS_RMS_FAC 0
-#define VMS_RMS_IFI EBADF
+#define VMS_LIB_INVARGV LIB$_INVARG
+#define VMS_RMS_DIR RMS$_DIR
+#define VMS_RMS_FAC RMS$_FAC
+#define VMS_RMS_IFI RMS$_IFI
+#define VMS_RMS_ISI RMS$_ISI
+#define VMS_SS_ACCVIO SS$_ACCVIO
+#define VMS_SS_IVCHAN SS$_IVCHAN
+#define VMS_SS_NORMAL SS$_NORMAL
+#else
+#define VMS_LIB_INVARG EINVAL
+#define VMS_RMS_DIR EBADF
+#define VMS_RMS_FAC 0
+#define VMS_RMS_IFI EBADF
+#define VMS_RMS_ISI EBADF
+#define VMS_SS_ACCVIO EFAULT
+#define VMS_SS_IVCHAN EBADF
+#define VMS_SS_NORMAL 0
#endif
#endif /* Include guard */
RETPUSHYES;
nope:
if (!errno)
- SETERRNO(EBADF,RMS$_DIR);
+ SETERRNO(EBADF,VMS_RMS_DIR);
RETPUSHUNDEF;
#else
DIE(aTHX_ PL_no_dir_func, "opendir");
nope:
if (!errno)
- SETERRNO(EBADF,RMS$_ISI);
+ SETERRNO(EBADF,VMS_RMS_ISI);
if (GIMME == G_ARRAY)
RETURN;
else
RETURN;
nope:
if (!errno)
- SETERRNO(EBADF,RMS$_ISI);
+ SETERRNO(EBADF,VMS_RMS_ISI);
RETPUSHUNDEF;
#else
DIE(aTHX_ PL_no_dir_func, "telldir");
RETPUSHYES;
nope:
if (!errno)
- SETERRNO(EBADF,RMS$_ISI);
+ SETERRNO(EBADF,VMS_RMS_ISI);
RETPUSHUNDEF;
#else
DIE(aTHX_ PL_no_dir_func, "seekdir");
RETPUSHYES;
nope:
if (!errno)
- SETERRNO(EBADF,RMS$_ISI);
+ SETERRNO(EBADF,VMS_RMS_ISI);
RETPUSHUNDEF;
#else
DIE(aTHX_ PL_no_dir_func, "rewinddir");