aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/PositionCache.cxx7
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;