From afa1b069843d75300d7f91d57b98ee3c013f1f54 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Thu, 26 Oct 2017 12:51:51 +0000 Subject: [PATCH] External Libraries: Remove usage of `each()` from the `Text_Diff_Engine_native` class. This removes deprecated notices in PHP 7.2 but takes a different approach to the upstream class from Horde, which appears to be buggy. Props SergeyBiryukov Fixes #41526 git-svn-id: https://develop.svn.wordpress.org/trunk@42028 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/Text/Diff/Engine/native.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/Text/Diff/Engine/native.php b/src/wp-includes/Text/Diff/Engine/native.php index ff2b8b5b45..5824329b7f 100644 --- a/src/wp-includes/Text/Diff/Engine/native.php +++ b/src/wp-includes/Text/Diff/Engine/native.php @@ -190,15 +190,16 @@ class Text_Diff_Engine_native { } $matches = $ymatches[$line]; reset($matches); - while (list(, $y) = each($matches)) { + while ($y = current($matches)) { if (empty($this->in_seq[$y])) { $k = $this->_lcsPos($y); assert($k > 0); $ymids[$k] = $ymids[$k - 1]; break; } + next($matches); } - while (list(, $y) = each($matches)) { + while ($y = current($matches)) { if ($y > $this->seq[$k - 1]) { assert($y <= $this->seq[$k]); /* Optimization: this is a common case: next match is @@ -211,6 +212,7 @@ class Text_Diff_Engine_native { assert($k > 0); $ymids[$k] = $ymids[$k - 1]; } + next($matches); } } }