diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2013-09-06 17:47:32 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2013-09-06 17:47:32 +0000 |
commit | 4d51fcedd5d47aa4314221fd50ba6e5985842b72 (patch) | |
tree | 2881426e5e03c718fc5eac6ea7efec463c9b2b2d /pcre_printint.c | |
parent | 6737b0da8eb044245ad60bb89559c5e542178e12 (diff) | |
download | pcre-4d51fcedd5d47aa4314221fd50ba6e5985842b72.tar.gz |
Make back references to duplicated named subpatterns more like Perl.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1361 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_printint.c')
-rw-r--r-- | pcre_printint.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pcre_printint.c b/pcre_printint.c index 10b5754..437fe31 100644 --- a/pcre_printint.c +++ b/pcre_printint.c @@ -598,6 +598,20 @@ for(;;) ccode = code + priv_OP_lengths[*code]; goto CLASS_REF_REPEAT; + case OP_DNREFI: + flag = "/i"; + /* Fall through */ + case OP_DNREF: + { + pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + + IMM2_SIZE; + fprintf(f, " %s \\k<", flag); + print_puchar(f, entry); + fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); + } + ccode = code + priv_OP_lengths[*code]; + goto CLASS_REF_REPEAT; + case OP_CALLOUT: fprintf(f, " %s %d %d %d", priv_OP_names[*code], code[1], GET(code,2), GET(code, 2 + LINK_SIZE)); |