Hi Zoe,

it seems that the indention is wrong. The patch contains spaces instead of tabs.

David

Zoe Slattery schrieb:
zoe             Tue Mar  3 10:52:56 2009 UTC

Modified files: /php-src run-tests.php Log:
  Added %r section
http://cvs.php.net/viewvc.cgi/php-src/run-tests.php?r1=1.390&r2=1.391&diff_format=u
Index: php-src/run-tests.php
diff -u php-src/run-tests.php:1.390 php-src/run-tests.php:1.391
--- php-src/run-tests.php:1.390 Mon Jan  5 11:14:37 2009
+++ php-src/run-tests.php       Tue Mar  3 10:52:56 2009
@@ -24,7 +24,7 @@
    +----------------------------------------------------------------------+
  */
-/* $Id: run-tests.php,v 1.390 2009/01/05 11:14:37 tony2001 Exp $ */
+/* $Id: run-tests.php,v 1.391 2009/03/03 10:52:56 zoe Exp $ */
/* Sanity check to ensure that pcre extension needed by this script is available.
  * In the event it is not, print a nice error message indicating that this 
script will
@@ -617,7 +617,7 @@
                                        $html_output = is_resource($html_file);
                                        break;
                                case '--version':
-                                       echo '$Revision: 1.390 $' . "\n";
+                                       echo '$Revision: 1.391 $' . "\n";
                                        exit(1);
default:
@@ -1737,7 +1737,32 @@
                $wanted_re = preg_replace('/\r\n/', "\n", $wanted);
if (isset($section_text['EXPECTF'])) {
-                       $wanted_re = preg_quote($wanted_re, '/');
+                       
+                // do preg_quote, but miss out any %r delimited sections
+                $temp = "";
+                $r = "%r";
+                $startOffset = 0;
+                $length = strlen($wanted_re);
+                while($startOffset < $length) {
+                  $start = strpos($wanted_re, $r, $startOffset);
+                  if ($start !== false) {
+                    // we have found a start tag
+                    $end = strpos($wanted_re, $r, $start+2);
+                    if ($end === false) {
+                      // unbalanced tag, ignore it.
+                      $end = $start = $length;
+                    }
+                  } else {
+                    // no more %r sections
+                    $start = $end = $length;
+                  }
+                  // quote a non re portion of the string
+                  $temp = $temp . preg_quote(substr($wanted_re, $startOffset, 
($start - $startOffset)),  '/');
+                  // add the re unquoted.
+                  $temp = $temp . substr($wanted_re, $start+2, ($end - 
$start-2));
+                  $startOffset = $end + 2;
+                }
+                $wanted_re = $temp;
                        $wanted_re = str_replace(
                                array('%binary_string_optional%'),
                                version_compare(PHP_VERSION, '6.0.0-dev') == -1 
? 'string' : 'binary string',




--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to