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));
     }

Reply via email to