diff options
-rw-r--r-- | src/PositionCache.cxx | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/PositionCache.cxx b/src/PositionCache.cxx index 0a9ef259a..a3e8e74f8 100644 --- a/src/PositionCache.cxx +++ b/src/PositionCache.cxx @@ -179,11 +179,8 @@ void LineLayout::SetLineStart(int line, int start) { if ((line >= lenLineStarts) && (line != 0)) { const int newMaxLines = line + 20; std::unique_ptr<int[]> newLineStarts = std::make_unique<int[]>(newMaxLines); - for (int i = 0; i < newMaxLines; i++) { - if (i < lenLineStarts) - newLineStarts[i] = lineStarts[i]; - else - newLineStarts[i] = 0; + if (lenLineStarts) { + std::copy(lineStarts.get(), lineStarts.get() + lenLineStarts, newLineStarts.get()); } lineStarts = std::move(newLineStarts); lenLineStarts = newMaxLines; |