diff options
-rw-r--r-- | sv.h | 3 | ||||
-rw-r--r-- | util.c | 2 |
2 files changed, 4 insertions, 1 deletions
@@ -1347,6 +1347,9 @@ the scalar's value cannot change unless written to. # define BmUSEFUL(sv) ((XPVBM*) SvANY(sv))->xiv_u.xivu_i32 # define BmPREVIOUS(sv) ((XPVBM*) SvANY(sv))->xbm_previous #endif +#define BmPREVIOUS_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) == SVt_PVBM); \ + (((XPVBM*)SvANY(sv))->xbm_previous = (U16)(val)); } STMT_END #define FmLINES(sv) ((XPVFM*) SvANY(sv))->xfm_lines @@ -522,7 +522,7 @@ Perl_fbm_compile(pTHX_ SV *sv, U32 flags) } } BmRARE(sv) = s[rarest]; - BmPREVIOUS(sv) = (U16)rarest; + BmPREVIOUS_set(sv, rarest); BmUSEFUL(sv) = 100; /* Initial value */ if (flags & FBMcf_TAIL) SvTAIL_on(sv); |