- if(Term->Flags & VT_FLAG_ALTBUF) {
- buffer = Term->AltBuf;
- write_pos = Term->AltWritePos;
- limit = Term->TextHeight * Term->TextWidth;
- }
- else {
- buffer = Term->Text;
- write_pos = Term->WritePos;
- limit = Term->TextHeight*(giVT_Scrollback+1) * Term->TextWidth;
- }
+ size_t limit = VT_int_GetBufferRows(Term) * Term->TextWidth;
+ size_t write_pos = *VT_int_GetWritePosPtr(Term);
+ tVT_Char *buffer = (Term->Flags & VT_FLAG_ALTBUF ? Term->AltBuf : Term->Text);