std.Progress: fix suffix printing #10448
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Copy of main commit msg
Previously,
suffix
was copied tooutput_buffer
at positionmax_end
, thereby writing into reserved space aftermax_end
.This only worked because
suffix
was not larger thanbytes_needed_for_esc_codes_at_end
(otherwise there'd be a potential buffer overrun) and no escape codes at end are actually written.Since 2d5b2bf, escape codes are no longer written to the end of the buffer. They are now written exclusively to the front of the buffer.
This allows removing
bytes_needed_for_esc_codes_at_end
and simplifying the suffix printing logic.This also fixes the bug that the ellipse suffix was not printed in Windows terminals because
end.* > max_end
was never true.