CALLRUNOPS(aTHX); /* Scalar context. */
SPAGAIN;
if (SP == before)
- ret = Nullsv; /* protect against empty (?{}) blocks. */
+ ret = &PL_sv_undef; /* protect against empty (?{}) blocks. */
else {
ret = POPs;
PUTBACK;
register bool do_utf8 = PL_reg_match_utf8;
scan = PL_reginput;
- if (max != REG_INFTY && max < loceol - scan)
+ if (max == REG_INFTY)
+ max = I32_MAX;
+ else if (max < loceol - scan)
loceol = scan + max;
switch (OP(p)) {
case REG_ANY: