Sync WS with 5.3

This commit is contained in:
Hannes Magnusson 2009-04-16 13:39:31 +00:00
parent 701fe7630e
commit 8906ef059d

View file

@ -2,7 +2,7 @@
<?php <?php
/* /*
+----------------------------------------------------------------------+ +----------------------------------------------------------------------+
| PHP Version 6, 6 | | PHP Version 5, 6 |
+----------------------------------------------------------------------+ +----------------------------------------------------------------------+
| Copyright (c) 1997-2009 The PHP Group | | Copyright (c) 1997-2009 The PHP Group |
+----------------------------------------------------------------------+ +----------------------------------------------------------------------+
@ -1737,34 +1737,34 @@ COMMAND $cmd
$wanted_re = preg_replace('/\r\n/', "\n", $wanted); $wanted_re = preg_replace('/\r\n/', "\n", $wanted);
if (isset($section_text['EXPECTF'])) { if (isset($section_text['EXPECTF'])) {
// do preg_quote, but miss out any %r delimited sections // do preg_quote, but miss out any %r delimited sections
$temp = ""; $temp = "";
$r = "%r"; $r = "%r";
$startOffset = 0; $startOffset = 0;
$length = strlen($wanted_re); $length = strlen($wanted_re);
while($startOffset < $length) { while($startOffset < $length) {
$start = strpos($wanted_re, $r, $startOffset); $start = strpos($wanted_re, $r, $startOffset);
if ($start !== false) { if ($start !== false) {
// we have found a start tag // we have found a start tag
$end = strpos($wanted_re, $r, $start+2); $end = strpos($wanted_re, $r, $start+2);
if ($end === false) { if ($end === false) {
// unbalanced tag, ignore it. // unbalanced tag, ignore it.
$end = $start = $length; $end = $start = $length;
}
} else {
// no more %r sections
$start = $end = $length;
} }
} else { // quote a non re portion of the string
// no more %r sections $temp = $temp . preg_quote(substr($wanted_re, $startOffset, ($start - $startOffset)), '/');
$start = $end = $length; // add the re unquoted.
$temp = $temp . '(' . substr($wanted_re, $start+2, ($end - $start-2)). ')';
$startOffset = $end + 2;
} }
// quote a non re portion of the string $wanted_re = $temp;
$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( $wanted_re = str_replace(
array('%binary_string_optional%'), array('%binary_string_optional%'),
version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? 'string' : 'binary string', version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? 'string' : 'binary string',
$wanted_re $wanted_re