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) {
{
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
RETURN;
}
else if (SvUVX(sv) <= IV_MAX) {
- SETi(-SvUVX(sv));
+ SETi(-SvIVX(sv));
RETURN;
}
}