[Pcre-svn] [363] code/trunk/pcretest.c: Previous change to p…

Página Inicial
Delete this message
Autor: Subversion repository
Data:  
Para: pcre-svn
Assunto: [Pcre-svn] [363] code/trunk/pcretest.c: Previous change to pcretest wasn' t correct for POSIX mode (needs zero
Revision: 363
          http://vcs.pcre.org/viewvc?view=rev&revision=363
Author:   ph10
Date:     2008-07-10 17:24:33 +0100 (Thu, 10 Jul 2008)


Log Message:
-----------
Previous change to pcretest wasn't correct for POSIX mode (needs zero
terminator).

Modified Paths:
--------------
    code/trunk/pcretest.c


Modified: code/trunk/pcretest.c
===================================================================
--- code/trunk/pcretest.c    2008-07-10 16:06:45 UTC (rev 362)
+++ code/trunk/pcretest.c    2008-07-10 16:24:33 UTC (rev 363)
@@ -2029,10 +2029,21 @@
     len = q - dbuffer;


     /* Move the data to the end of the buffer so that a read over the end of
-    the buffer will be seen by valgrind, even if it doesn't cause a crash. */
+    the buffer will be seen by valgrind, even if it doesn't cause a crash. If 
+    we are using the POSIX interface, we must include the terminating zero. */


-    memmove(bptr + buffer_size - len, bptr, len);
-    bptr += buffer_size - len;  
+#if !defined NOPOSIX
+    if (posix || do_posix)
+      {
+      memmove(bptr + buffer_size - len - 1, bptr, len + 1);
+      bptr += buffer_size - len - 1;  
+      }
+    else     
+#endif 
+      {
+      memmove(bptr + buffer_size - len, bptr, len);
+      bptr += buffer_size - len;  
+      } 


     if ((all_use_dfa || use_dfa) && find_match_limit)
       {