Move Object::Accessor from lib/ to ext/
[p5sagit/p5-mst-13.2.git] / ext / IO / IO.xs
index bb64141..d3dff55 100644 (file)
@@ -121,7 +121,12 @@ io_blocking(pTHX_ InputStream f, int block)
     }
     return RETVAL;
 #else
+#   ifdef WIN32
+    char flags = (char)block;
+    return ioctl(PerlIO_fileno(f), FIONBIO, &flags);
+#   else
     return -1;
+#   endif
 #endif
 }
 
@@ -132,10 +137,10 @@ fgetpos(handle)
        InputStream     handle
     CODE:
        if (handle) {
-           Fpos_t pos;
 #ifdef PerlIO
-           ST(0) = sv_newmortal();
 #if PERL_VERSION < 8
+           Fpos_t pos;
+           ST(0) = sv_newmortal();
            if (PerlIO_getpos(handle, &pos) != 0) {
                ST(0) = &PL_sv_undef;
            }
@@ -143,6 +148,7 @@ fgetpos(handle)
                sv_setpvn(ST(0), (char *)&pos, sizeof(Fpos_t));
            }
 #else
+           ST(0) = sv_newmortal();
            if (PerlIO_getpos(handle, ST(0)) != 0) {
                ST(0) = &PL_sv_undef;
            }
@@ -204,7 +210,7 @@ MODULE = IO PACKAGE = IO::File      PREFIX = f
 
 void
 new_tmpfile(packname = "IO::File")
-    char *     packname
+    const char * packname
     PREINIT:
        OutputStream fp;
        GV *gv;