Fix crash when editing lines that are exactly console width

plen+cooked_cursor==cols => begin = -1 which is passed to substr. The
sign is incorrect as code should be removing a character from begin
instead of trying to add a character.
develop
Pauli 2018-07-09 16:09:34 +03:00
parent 1880a32800
commit ab179bbf42
1 changed files with 4 additions and 3 deletions

@ -486,9 +486,10 @@ namespace DFHack
int cooked_cursor = raw_cursor; int cooked_cursor = raw_cursor;
if ((plen+cooked_cursor) >= cols) if ((plen+cooked_cursor) >= cols)
{ {
begin = plen+cooked_cursor-cols-1; const int text_over = plen + cooked_cursor + 1 - cols;
len -= plen+cooked_cursor-cols-1; begin = text_over;
cooked_cursor -= plen+cooked_cursor-cols-1; len -= text_over;
cooked_cursor -= text_over;
} }
if (plen+len > cols) if (plen+len > cols)
len -= plen+len - cols; len -= plen+len - cols;