Updated.
[p5sagit/p5-mst-13.2.git] / doio.c
diff --git a/doio.c b/doio.c
index 9f5a74a..c01c14e 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -344,7 +344,7 @@ register GV *gv;
            if (inplace) {
                TAINT_PROPER("inplace open");
                if (strEQ(oldname,"-")) {
-                   defoutgv = gv_fetchpv("STDOUT",TRUE,SVt_PVIO);
+                   setdefout(gv_fetchpv("STDOUT",TRUE,SVt_PVIO));
                    return IoIFP(GvIOp(gv));
                }
 #ifndef FLEXFILENAMES
@@ -423,7 +423,7 @@ register GV *gv;
                    do_close(gv,FALSE);
                    continue;
                }
-               defoutgv = argvoutgv;
+               setdefout(argvoutgv);
                lastfd = fileno(IoIFP(GvIOp(argvoutgv)));
                (void)Fstat(lastfd,&statbuf);
 #ifdef HAS_FCHMOD
@@ -448,7 +448,7 @@ register GV *gv;
     }
     if (inplace) {
        (void)do_close(argvoutgv,FALSE);
-       defoutgv = gv_fetchpv("STDOUT",TRUE,SVt_PVIO);
+       setdefout(gv_fetchpv("STDOUT",TRUE,SVt_PVIO));
     }
     return Nullfp;
 }
@@ -567,8 +567,8 @@ GV *gv;
 
     while (IoIFP(io)) {
 
-#ifdef USE_STD_STDIO                   /* (the code works without this) */
-       if (IoIFP(io)->_cnt > 0)        /* cheat a little, since */
+#ifdef USE_STDIO_PTR                   /* (the code works without this) */
+       if (FILE_cnt(IoIFP(io)) > 0)    /* cheat a little, since */
            return FALSE;               /* this is the most usual case */
 #endif
 
@@ -577,9 +577,9 @@ GV *gv;
            (void)ungetc(ch, IoIFP(io));
            return FALSE;
        }
-#ifdef USE_STD_STDIO
-       if (IoIFP(io)->_cnt < -1)
-           IoIFP(io)->_cnt = -1;
+#if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE)
+       if (FILE_cnt(IoIFP(io)) < -1)
+           FILE_cnt(IoIFP(io)) = -1;
 #endif
        if (op->op_flags & OPf_SPECIAL) { /* not necessarily a real EOF yet? */
            if (!nextargv(argvgv))      /* get another fp handy */