diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2013-10-06 18:33:56 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2013-10-06 18:33:56 +0000 |
commit | e0f44ec0903da7ad9c56eec0a0e5c8b02ce6ccb3 (patch) | |
tree | d7e548f203b80d44a5c7d9e07b19a1b04bafa328 /pcre_printint.c | |
parent | c728cbfd976748abdf0511801e805ff0c846cdf2 (diff) | |
download | pcre-e0f44ec0903da7ad9c56eec0a0e5c8b02ce6ccb3.tar.gz |
Refactor named group handling for conditional tests.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1365 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_printint.c')
-rw-r--r-- | pcre_printint.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/pcre_printint.c b/pcre_printint.c index 437fe31..5e6a1ae 100644 --- a/pcre_printint.c +++ b/pcre_printint.c @@ -425,10 +425,19 @@ for(;;) break; case OP_CREF: - case OP_NCREF: fprintf(f, "%3d %s", GET2(code,1), priv_OP_names[*code]); break; + case OP_DNCREF: + { + pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + + IMM2_SIZE; + fprintf(f, " %s Cond ref <", flag); + print_puchar(f, entry); + fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); + } + break; + case OP_RREF: c = GET2(code, 1); if (c == RREF_ANY) @@ -437,12 +446,14 @@ for(;;) fprintf(f, " Cond recurse %d", c); break; - case OP_NRREF: - c = GET2(code, 1); - if (c == RREF_ANY) - fprintf(f, " Cond nrecurse any"); - else - fprintf(f, " Cond nrecurse %d", c); + case OP_DNRREF: + { + pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + + IMM2_SIZE; + fprintf(f, " %s Cond recurse <", flag); + print_puchar(f, entry); + fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); + } break; case OP_DEF: |