add PieceTable::apply_change()

This commit is contained in:
Josh Holtrop 2016-09-26 22:34:29 -04:00
parent 249fd87067
commit 5b662b63e0
2 changed files with 13 additions and 4 deletions

View File

@ -401,10 +401,17 @@ void PieceTable::insertion_test(Cursor & c)
change->new_link[1][1] = end_piece;
}
change->new_link[0][0]->next = change->new_link[0][1];
change->new_link[0][1]->prev = change->new_link[0][0];
change->new_link[1][0]->next = change->new_link[1][1];
change->new_link[1][1]->prev = change->new_link[1][0];
apply_change(change, 0u);
c.warp_to_inserted_piece(piece);
}
void PieceTable::apply_change(Change * change, uint8_t reverse)
{
uint8_t i1 = reverse;
uint8_t i2 = reverse ^ 1u;
change->new_link[i1][i1]->next = change->new_link[i1][i2];
change->new_link[i1][i2]->prev = change->new_link[i1][i1];
change->new_link[i2][i1]->next = change->new_link[i2][i2];
change->new_link[i2][i2]->prev = change->new_link[i2][i1];
}

View File

@ -164,6 +164,8 @@ public:
void insertion_test(Cursor & c);
void apply_change(Change * change, uint8_t reverse);
protected:
const uint8_t * m_file_buffer;
unsigned long m_file_buffer_size;