X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.c;h=30476bd7504a952a36b3bc81e65f32d2547b57a3;hb=07eb8ee282b50089a8093dabf88ba738c33af5ad;hp=4210bd6c6f1820768287d157a150c2f4494bc98c;hpb=155aba94f677ac771761a1f510964fe5b21524ed;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.c b/pp.c index 4210bd6..30476bd 100644 --- a/pp.c +++ b/pp.c @@ -426,7 +426,7 @@ PP(pp_prototype) seen_question = 1; str[n++] = ';'; } - else if (seen_question) + else if (n && str[0] == ';' && seen_question) goto set; /* XXXX system, exec */ if ((oa & (OA_OPTIONAL - 1)) >= OA_AVREF && (oa & (OA_OPTIONAL - 1)) <= OA_HVREF) { @@ -1199,7 +1199,7 @@ PP(pp_ncmp) { dPOPTOPnnrl; I32 value; -#ifdef __osf__ /* XXX fix in 5.6.1 --jhi */ +#ifdef __osf__ /* XXX Configure probe for isnan and isnanl needed XXX */ #if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) #define Perl_isnan isnanl #else @@ -1398,7 +1398,7 @@ PP(pp_negate) RETURN; } else if (SvUVX(sv) <= IV_MAX) { - SETi(-SvUVX(sv)); + SETi(-SvIVX(sv)); RETURN; } }