Re: Clock skew failures in Memoize test suite
[p5sagit/p5-mst-13.2.git] / ext / IO / IO.xs
index a798813..4f713a0 100644 (file)
 #endif
 
 #ifdef PerlIO
+#if defined(MACOS_TRADITIONAL) && defined(USE_SFIO)
+#define PERLIO_IS_STDIO 1
+#undef setbuf
+#undef setvbuf
+#define setvbuf                _stdsetvbuf
+#define setbuf(f,b)    ( __sf_setbuf(f,b) )
+#endif
 typedef int SysRet;
 typedef PerlIO * InputStream;
 typedef PerlIO * OutputStream;
@@ -55,14 +62,14 @@ not_here(char *s)
 #endif
 
 static int
-io_blocking(InputStream f, int block)
+io_blocking(pTHX_ InputStream f, int block)
 {
+#if defined(HAS_FCNTL)
     int RETVAL;
     if(!f) {
        errno = EBADF;
        return -1;
     }
-#if defined(HAS_FCNTL)
     RETVAL = fcntl(PerlIO_fileno(f), F_GETFL, 0);
     if (RETVAL >= 0) {
        int mode = RETVAL;
@@ -138,7 +145,7 @@ io_blocking(InputStream f, int block)
     }
     return RETVAL;
 #else
- return -1;
+    return -1;
 #endif
 }
 
@@ -235,7 +242,7 @@ PPCODE:
     for(i=1, j=0  ; j < nfd ; j++) {
        fds[j].fd = SvIV(ST(i));
        i++;
-       fds[j].events = SvIV(ST(i));
+       fds[j].events = (short)SvIV(ST(i));
        i++;
        fds[j].revents = 0;
     }
@@ -261,7 +268,7 @@ io_blocking(handle,blk=-1)
 PROTOTYPE: $;$
 CODE:
 {
-    int ret = io_blocking(handle, items == 1 ? -1 : blk ? 1 : 0);
+    int ret = io_blocking(aTHX_ handle, items == 1 ? -1 : blk ? 1 : 0);
     if(ret >= 0)
        XSRETURN_IV(ret);
     else