win32 fixes: more spurious CRs
[p5sagit/p5-mst-13.2.git] / util.c
diff --git a/util.c b/util.c
index aa8a84f..1ab05e6 100644 (file)
--- a/util.c
+++ b/util.c
@@ -2051,7 +2051,7 @@ Perl_my_popen(pTHX_ char *cmd, char *mode)
     return PerlIO_fdopen(p[This], mode);
 }
 #else
-#if defined(atarist) || defined(DJGPP)
+#if defined(atarist)
 FILE *popen();
 PerlIO *
 Perl_my_popen(pTHX_ char *cmd, char *mode)
@@ -2063,6 +2063,20 @@ Perl_my_popen(pTHX_ char *cmd, char *mode)
     */
     return PerlIO_importFILE(popen(cmd, mode), 0);
 }
+#else
+#if defined(DJGPP)
+FILE *djgpp_popen();
+PerlIO *
+Perl_my_popen(pTHX_ char *cmd, char *mode)
+{
+    PERL_FLUSHALL_FOR_CHILD;
+    /* Call system's popen() to get a FILE *, then import it.
+       used 0 for 2nd parameter to PerlIO_importFILE;
+       apparently not used
+    */
+    return PerlIO_importFILE(djgpp_popen(cmd, mode), 0);
+}
+#endif
 #endif
 
 #endif /* !DOSISH */
@@ -2367,7 +2381,7 @@ Perl_pidgone(pTHX_ Pid_t pid, int status)
     return;
 }
 
-#if defined(atarist) || defined(OS2) || defined(DJGPP)
+#if defined(atarist) || defined(OS2)
 int pclose();
 #ifdef HAS_FORK
 int                                    /* Cannot prototype with I32
@@ -2381,9 +2395,20 @@ Perl_my_pclose(pTHX_ PerlIO *ptr)
     /* Needs work for PerlIO ! */
     FILE *f = PerlIO_findFILE(ptr);
     I32 result = pclose(f);
+    PerlIO_releaseFILE(ptr,f);
+    return result;
+}
+#endif
+
 #if defined(DJGPP)
+int djgpp_pclose();
+I32
+Perl_my_pclose(pTHX_ PerlIO *ptr)
+{
+    /* Needs work for PerlIO ! */
+    FILE *f = PerlIO_findFILE(ptr);
+    I32 result = djgpp_pclose(f);
     result = (result << 8) & 0xff00;
-#endif
     PerlIO_releaseFILE(ptr,f);
     return result;
 }
@@ -2823,7 +2848,7 @@ Perl_condpair_magic(pTHX_ SV *sv)
            mg->mg_len = sizeof(cp);
            UNLOCK_CRED_MUTEX;          /* XXX need separate mutex? */
            DEBUG_S(WITH_THR(PerlIO_printf(Perl_debug_log,
-                                          "%p: condpair_magic %p\n", thr, sv));)
+                                          "%p: condpair_magic %p\n", thr, sv)));
        }
     }
     return mg;
@@ -2850,7 +2875,7 @@ Perl_sv_lock(pTHX_ SV *osv)
        MgOWNER(mg) = thr;
        DEBUG_S(PerlIO_printf(Perl_debug_log,
                              "0x%"UVxf": Perl_lock lock 0x%"UVxf"\n",
-                             PTR2UV(thr), PTR2UV(sv));)
+                             PTR2UV(thr), PTR2UV(sv)));
        MUTEX_UNLOCK(MgMUTEXP(mg));
        SAVEDESTRUCTOR_X(Perl_unlock_condpair, sv);
     }
@@ -3723,7 +3748,7 @@ Perl_sv_getcwd(pTHX_ register SV *sv)
         *SvEND(sv) = '\0';
         SvPOK_only(sv);
 
-     hreif (PerlDir_chdir(SvPVX(sv)) < 0) {
+       if (PerlDir_chdir(SvPVX(sv)) < 0) {
             SV_CWD_RETURN_UNDEF;
         }
     }