/* 1999-02-27 mjd@plover.com */
char *p;
p = strchr(name, '\0');
+ assert(p);
/* The next block assumes the buffer is at least 205 chars
long. At present, it's always at least 256 chars. */
if (p - name > 200) {
SvTEMP_off(sv);
}
break;
+ case 2:
+ /* my_exit() was called; propagate it */
+ JMPENV_POP;
+ JMPENV_JUMP(2);
+ /* NOTREACHED */
case 3:
/* Something tried to die. Abandon constant folding. */
/* Pretend the error never happened. */
break;
default:
JMPENV_POP;
- /* Don't expect 1 (setjmp failed) or 2 (something called my_exit) */
+ /* Don't expect 1 (setjmp failed) */
Perl_croak(aTHX_ "panic: fold_constants JMPENV_PUSH returned %d", ret);
}
else if (kid->op_type == OP_AELEM
|| kid->op_type == OP_HELEM)
{
+ OP *firstop;
OP *op = ((BINOP*)kid)->op_first;
name = NULL;
if (op) {
"[]" : "{}";
if (((op->op_type == OP_RV2AV) ||
(op->op_type == OP_RV2HV)) &&
- (op = ((UNOP*)op)->op_first) &&
- (op->op_type == OP_GV)) {
+ (firstop = ((UNOP*)op)->op_first) &&
+ (firstop->op_type == OP_GV)) {
/* packagevar $a[] or $h{} */
- GV * const gv = cGVOPx_gv(op);
+ GV * const gv = cGVOPx_gv(firstop);
if (gv)
tmpstr =
Perl_newSVpvf(aTHX_