DJGPP was broken by #17270. Because of the time crunch
Jarkko Hietaniemi [Tue, 16 Jul 2002 21:14:36 +0000 (21:14 +0000)]
we may not have time to investigate how that is possible,
since the #17270 was trying to protect against illegal
memory accesses... (the breakage of the DJGPP build was
manifested by configpm eating up all the available memory)

p4raw-id: //depot/perl@17583

sv.c

diff --git a/sv.c b/sv.c
index b629558..9e3d2a0 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -5884,10 +5884,23 @@ screamer2:
            /* Accomodate broken VAXC compiler, which applies U8 cast to
             * both args of ?: operator, causing EOF to change into 255
             */
-           if (cnt > 0) { i = (U8)buf[cnt - 1]; } else { i = EOF; }
+#ifdef DJGPP /* This is basically undoing #17270 for DJGPP.  See below. */
+           if (cnt)
+#else
+           if (cnt > 0)
+#endif
+           {
+               i = (U8)buf[cnt - 1];
+           }
+           else {
+                i = EOF;
+           }
        }
 
-       if (cnt > 0) {
+#ifndef DJGPP /* This is basically undoing #17270 for DJGPP.  See above.*/
+       if (cnt > 0)
+#endif
+       {
            if (append)
                sv_catpvn(sv, (char *) buf, cnt);
            else