In T208070 / I120ca25a77b7b933de4afddd1d458e36a95e26da we added a check whether we were processing the last line of input, in order to avoid emitting extra trailing newlines. But if the number of input lines is large, StringUtils::explode() will return an iterator which doesn't implement Countable for efficiency. I22eebb70af1b19d7c25241fc78bfcced4470e78a fixed this, but at the cost of scanning the string twice: once just to count the number of newlines before we begin to iterate over the lines. This patch uses Iterator::valid() to determine if we're on the last iteration without having to scan the string twice. Bug: T208070 Bug: T218817 Change-Id: I41a45266d266195aa6002d3854e018cacf052ca6 |
||
|---|---|---|
| .. | ||
| BlockLevelPass.php | ||
| CacheTime.php | ||
| CoreParserFunctions.php | ||
| CoreTagHooks.php | ||
| DateFormatter.php | ||
| LinkHolderArray.php | ||
| MWTidy.php | ||
| Parser.php | ||
| ParserCache.php | ||
| ParserDiffTest.php | ||
| ParserFactory.php | ||
| ParserOptions.php | ||
| ParserOutput.php | ||
| Preprocessor.php | ||
| Preprocessor_DOM.php | ||
| Preprocessor_Hash.php | ||
| RemexStripTagHandler.php | ||
| Sanitizer.php | ||
| StripState.php | ||