In configure.com, add test for sys/poll.h.
In VMS.C, Add a missing translation of an RMS status code to a ERRNO,
and remove a cast.
-John
[EMAIL PROTECTED]
Personal Opinion Only
--- /rsync_root/perl/configure.com Tue Mar 4 21:16:58 2008
+++ configure.com Sun Mar 23 01:20:45 2008
@@ -3948,6 +3948,12 @@
$ GOSUB inhdr
$ i_sysmode = tmp
$!
+$! Check for poll.h
+$!
+$ tmp = "sys/poll.h"
+$ gosub inhdr
+$ i_syspoll = tmp
+$!
$! Check for sys/access.h
$!
$ tmp = "sys/access.h"
@@ -6285,6 +6291,7 @@
$ WC "i_sysmount='undef'"
$ WC "i_sysndir='undef'"
$ WC "i_sysparam='undef'"
+$ WC "i_syspoll='" + i_syspoll + "'"
$ WC "i_sysresrc='undef'"
$ WC "i_syssecrt='" + i_syssecrt + "'"
$ WC "i_sysselct='undef'"
--- /rsync_root/perl/vms/vms.c Fri Mar 7 07:49:36 2008
+++ vms/vms.c Sun Mar 23 01:41:23 2008
@@ -2568,6 +2568,9 @@
case RMS$_WLK: /* Device write locked */
unix_status = EACCES;
break;
+ case RMS$_MKD: /* Failed to mark for delete */
+ unix_status = EPERM;
+ break;
/* case RMS$_NMF: */ /* No more files */
}
}
@@ -10433,7 +10436,7 @@
if ((res = fflush(fp)) == 0 && fp) {
#ifdef VMS_DO_SOCKETS
Stat_t s;
- if (fstat(fileno(fp), (stat_t *)&s) == 0 && !S_ISSOCK(s.st_mode))
+ if (fstat(fileno(fp), &s.crtl_stat) == 0 && !S_ISSOCK(s.st_mode))
#endif
res = fsync(fileno(fp));
}