plus a few blank lines for readability.
return new_logop(type, flags, &first, &other);
}
return new_logop(type, flags, &first, &other);
}
+
+/* See if the optree o contains a single OP_CONST (plus possibly
+ * surrounding enter/nextstate/null etc). If so, return it, else return
+ * NULL.
+ */
+
STATIC OP *
S_search_const(pTHX_ OP *o)
{
STATIC OP *
S_search_const(pTHX_ OP *o)
{
if (!(o->op_flags & OPf_KIDS))
return NULL;
kid = cLISTOPo->op_first;
if (!(o->op_flags & OPf_KIDS))
return NULL;
kid = cLISTOPo->op_first;
do {
switch (kid->op_type) {
case OP_ENTER:
do {
switch (kid->op_type) {
case OP_ENTER:
goto last;
}
} while (kid);
goto last;
}
} while (kid);
if (!kid)
kid = cLISTOPo->op_last;
last:
if (!kid)
kid = cLISTOPo->op_last;
last:
STATIC OP *
S_new_logop(pTHX_ I32 type, I32 flags, OP** firstp, OP** otherp)
{
STATIC OP *
S_new_logop(pTHX_ I32 type, I32 flags, OP** firstp, OP** otherp)
{