diff options
Diffstat (limited to 'ext/B/B.xs')
-rw-r--r-- | ext/B/B.xs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/B/B.xs b/ext/B/B.xs index 8935174455..90bf8d5f60 100644 --- a/ext/B/B.xs +++ b/ext/B/B.xs @@ -1715,11 +1715,15 @@ REGEX(sv) ALIAS: precomp = 1 qr_anoncv = 2 + compflags = 3 PPCODE: if (ix == 1) { PUSHs(newSVpvn_flags(RX_PRECOMP(sv), RX_PRELEN(sv), SVs_TEMP)); - } else if (ix) { + } else if (ix == 2) { PUSHs(make_sv_object(aTHX_ (SV *)ReANY(sv)->qr_anoncv)); + } else if (ix) { + dXSTARG; + PUSHu(RX_COMPFLAGS(sv)); } else { dXSTARG; /* FIXME - can we code this method more efficiently? */ |