regex engine - wrap PL_regnode_arg_len_varies with macro REGNODE_ARG_LEN_VARIES()

This commit is contained in:
Yves Orton 2022-08-03 15:22:22 +02:00
parent e28d2a3533
commit 79a585d60b
2 changed files with 2 additions and 1 deletions

View File

@ -1412,6 +1412,7 @@ typedef enum {
#define REGNODE_TYPE(arg) PL_regnode_kind[(arg)]
#define REGNODE_OFF_BY_ARG(node) PL_regnode_of_by_arg[(node)]
#define REGNODE_ARG_LEN(node) PL_regnode_arg_len[(node)]
#define REGNODE_ARG_LEN_VARIES(node) PL_regnode_arg_len_varies[(node)]
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
#include "reginline.h"

View File

@ -38,7 +38,7 @@ Perl_regnode_after(pTHX_ const regnode *p, const bool varies)
const U8 op = OP(p);
assert(op < REGNODE_MAX);
const regnode *ret = p + NODE_STEP_REGNODE + REGNODE_ARG_LEN(op);
if (varies || PL_regnode_arg_len_varies[op])
if (varies || REGNODE_ARG_LEN_VARIES(op))
ret += STR_SZ(STR_LEN(p));
return (regnode *)ret;
}