summaryrefslogtreecommitdiff
path: root/pcre_printint.c
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2013-09-06 17:47:32 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2013-09-06 17:47:32 +0000
commit4d51fcedd5d47aa4314221fd50ba6e5985842b72 (patch)
tree2881426e5e03c718fc5eac6ea7efec463c9b2b2d /pcre_printint.c
parent6737b0da8eb044245ad60bb89559c5e542178e12 (diff)
downloadpcre-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.c14
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));