[Pcre-svn] [743] code/trunk: Marks in non-capturing atomic g…

Startseite
Nachricht löschen
Autor: Subversion repository
Datum:  
To: pcre-svn
Betreff: [Pcre-svn] [743] code/trunk: Marks in non-capturing atomic groups were not being passed out.
Revision: 743
          http://vcs.pcre.org/viewvc?view=rev&revision=743
Author:   ph10
Date:     2011-11-08 09:59:38 +0000 (Tue, 08 Nov 2011)


Log Message:
-----------
Marks in non-capturing atomic groups were not being passed out.

Modified Paths:
--------------
    code/trunk/ChangeLog
    code/trunk/pcre_exec.c
    code/trunk/testdata/testinput11
    code/trunk/testdata/testoutput11


Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog    2011-11-06 08:05:33 UTC (rev 742)
+++ code/trunk/ChangeLog    2011-11-08 09:59:38 UTC (rev 743)
@@ -12,6 +12,10 @@
 3.  Fix cache-flush issue on PowerPC (It is still an experimental JIT port).
     PCRE_EXTRA_TABLES is not suported by JIT, and should be checked before
     calling _pcre_jit_exec. Some extra comments are added.
+    
+4.  Mark settings inside atomic groups that do not contain any capturing 
+    parentheses, for example, (?>a(*:m)), were not being passed out. This bug 
+    was introduced by change 18 for 8.20.



Version 8.20 21-Oct-2011

Modified: code/trunk/pcre_exec.c
===================================================================
--- code/trunk/pcre_exec.c    2011-11-06 08:05:33 UTC (rev 742)
+++ code/trunk/pcre_exec.c    2011-11-08 09:59:38 UTC (rev 743)
@@ -816,6 +816,7 @@
       if (rrc == MATCH_MATCH)  /* Note: _not_ MATCH_ACCEPT */
         {
         mstart = md->start_match_ptr;
+        markptr = md->mark;
         break;
         }
       if (rrc == MATCH_THEN)


Modified: code/trunk/testdata/testinput11
===================================================================
--- code/trunk/testdata/testinput11    2011-11-06 08:05:33 UTC (rev 742)
+++ code/trunk/testdata/testinput11    2011-11-08 09:59:38 UTC (rev 743)
@@ -767,4 +767,10 @@


/------------------------------/

+/(?>a(*:m))/imsxSK 
+    a
+
+/(?>(a)(*:m))/imsxSK 
+    a
+
 /-- End of testinput11 --/


Modified: code/trunk/testdata/testoutput11
===================================================================
--- code/trunk/testdata/testoutput11    2011-11-06 08:05:33 UTC (rev 742)
+++ code/trunk/testdata/testoutput11    2011-11-08 09:59:38 UTC (rev 743)
@@ -1389,4 +1389,15 @@


/------------------------------/

+/(?>a(*:m))/imsxSK 
+    a
+ 0: a
+MK: m
+
+/(?>(a)(*:m))/imsxSK 
+    a
+ 0: a
+ 1: a
+MK: m
+
 /-- End of testinput11 --/