Zeile 18 | Zeile 18 |
---|
* Geoffrey T. Dairiki <dairiki@dairiki.org>. The original PHP version of this * code was written by him, and is used/adapted with his permission. *
|
* Geoffrey T. Dairiki <dairiki@dairiki.org>. The original PHP version of this * code was written by him, and is used/adapted with his permission. *
|
* Copyright 2004-2011 Horde LLC (http://www.horde.org/)
| * Copyright 2004-2017 Horde LLC (http://www.horde.org/)
|
* * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see http://www.horde.org/licenses/lgpl21.
| * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see http://www.horde.org/licenses/lgpl21.
|
Zeile 33 | Zeile 33 |
---|
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); }
|
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); }
|
| #[AllowDynamicProperties]
|
class Horde_Text_Diff_Engine_Native { public function diff($from_lines, $to_lines)
| class Horde_Text_Diff_Engine_Native { public function diff($from_lines, $to_lines)
|
Zeile 196 | Zeile 197 |
---|
continue; } $matches = $ymatches[$line];
|
continue; } $matches = $ymatches[$line];
|
reset($matches); while (list(, $y) = each($matches)) {
| foreach ($matches as $y) {
|
if (empty($this->in_seq[$y])) { $k = $this->_lcsPos($y); assert($k > 0); $ymids[$k] = $ymids[$k - 1]; break;
|
if (empty($this->in_seq[$y])) { $k = $this->_lcsPos($y); assert($k > 0); $ymids[$k] = $ymids[$k - 1]; break;
|
} } while (list(, $y) = each($matches)) { if ($y > $this->seq[$k - 1]) {
| } elseif ($y > $this->seq[$k - 1]) {
|
assert($y <= $this->seq[$k]);
|
assert($y <= $this->seq[$k]);
|
/* Optimization: this is a common case: next match is * just replacing previous match. */
| |
$this->in_seq[$this->seq[$k]] = false; $this->seq[$k] = $y; $this->in_seq[$y] = 1;
|
$this->in_seq[$this->seq[$k]] = false; $this->seq[$k] = $y; $this->in_seq[$y] = 1;
|
} elseif (empty($this->in_seq[$y])) { $k = $this->_lcsPos($y); assert($k > 0); $ymids[$k] = $ymids[$k - 1];
| |
} } }
| } } }
|
Zeile 337 | Zeile 328 |
---|
$i = 0; $j = 0;
|
$i = 0; $j = 0;
|
assert('count($lines) == count($changed)');
| assert(count($lines) == count($changed));
|
$len = count($lines); $other_len = count($other_changed);
| $len = count($lines); $other_len = count($other_changed);
|
Zeile 358 | Zeile 349 |
---|
}
while ($i < $len && ! $changed[$i]) {
|
}
while ($i < $len && ! $changed[$i]) {
|
assert('$j < $other_len && ! $other_changed[$j]');
| assert($j < $other_len && ! $other_changed[$j]);
|
$i++; $j++; while ($j < $other_len && $other_changed[$j]) { $j++;
| $i++; $j++; while ($j < $other_len && $other_changed[$j]) { $j++;
|
Zeile 390 | Zeile 381 |
---|
while ($start > 0 && $changed[$start - 1]) { $start--; }
|
while ($start > 0 && $changed[$start - 1]) { $start--; }
|
assert('$j > 0');
| assert($j > 0);
|
while ($other_changed[--$j]) { continue; }
|
while ($other_changed[--$j]) { continue; }
|
assert('$j >= 0 && !$other_changed[$j]');
| assert($j >= 0 && !$other_changed[$j]);
|
}
/* Set CORRESPONDING to the end of the changed run, at the
| }
/* Set CORRESPONDING to the end of the changed run, at the
|
Zeile 415 | Zeile 406 |
---|
$i++; }
|
$i++; }
|
assert('$j < $other_len && ! $other_changed[$j]');
| assert($j < $other_len && ! $other_changed[$j]);
|
$j++; if ($j < $other_len && $other_changed[$j]) { $corresponding = $i;
| $j++; if ($j < $other_len && $other_changed[$j]) { $corresponding = $i;
|
Zeile 431 | Zeile 422 |
---|
while ($corresponding < $i) { $changed[--$start] = 1; $changed[--$i] = 0;
|
while ($corresponding < $i) { $changed[--$start] = 1; $changed[--$i] = 0;
|
assert('$j > 0');
| assert($j > 0);
|
while ($other_changed[--$j]) { continue; }
|
while ($other_changed[--$j]) { continue; }
|
assert('$j >= 0 && !$other_changed[$j]');
| assert($j >= 0 && !$other_changed[$j]);
|
} } }
| } } }
|