&& CvOUTSIDE(innercv) == cv)
{
assert(CvWEAKOUTSIDE(innercv));
- CvWEAKOUTSIDE_off(innercv);
- CvOUTSIDE_SEQ(innercv) = seq;
/* don't relink to grandfather if he's being freed */
- if (SvREFCNT(outercv)) {
+ if (outercv && SvREFCNT(outercv)) {
+ CvWEAKOUTSIDE_off(innercv);
CvOUTSIDE(innercv) = outercv;
+ CvOUTSIDE_SEQ(innercv) = seq;
SvREFCNT_inc(outercv);
}
else {
CvOUTSIDE(innercv) = Nullcv;
}
+
}
+
}
}
}