From: Jarkko Hietaniemi Date: Wed, 17 Jul 2002 14:08:48 +0000 (+0000) Subject: NI-S' stab at the #17270 mystery. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cbe9e2031df1ef1fc18849ffe4581d788a72931d;p=p5sagit%2Fp5-mst-13.2.git NI-S' stab at the #17270 mystery. p4raw-id: //depot/perl@17601 --- diff --git a/sv.c b/sv.c index bdae1a6..2c31193 100644 --- a/sv.c +++ b/sv.c @@ -5884,32 +5884,18 @@ screamer2: /* Accomodate broken VAXC compiler, which applies U8 cast to * both args of ?: operator, causing EOF to change into 255 */ - /* For some reason #17270 broke things for DJGPP and NetWare. - * Another hunk just below. */ -#if defined(DJGPP) || defined(NETWARE) - if (cnt) -#else if (cnt > 0) -#endif - { - i = (U8)buf[cnt - 1]; - } - else { + i = (U8)buf[cnt - 1]; + else i = EOF; - } } - /* This is basically undoing #17270 for DJGPP and NetWare. - * Another hunk just above. */ -#if !(defined(DJGPP) || defined(NETWARE)) - if (cnt > 0) -#endif - { - if (append) - sv_catpvn(sv, (char *) buf, cnt); - else - sv_setpvn(sv, (char *) buf, cnt); - } + if (cnt < 0) + cnt = 0; /* we do need to re-set the sv even when cnt <= 0 */ + if (append) + sv_catpvn(sv, (char *) buf, cnt); + else + sv_setpvn(sv, (char *) buf, cnt); if (i != EOF && /* joy */ (!rslen ||