From 9dc4e4f217c6032e99b5828a514cf817770981a9 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Mon, 11 Aug 2025 23:37:15 +0200 Subject: piece-table: delete: Test better and fixes --- src/piece-table.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/piece-table.c') diff --git a/src/piece-table.c b/src/piece-table.c index ba88103..c7f9381 100644 --- a/src/piece-table.c +++ b/src/piece-table.c @@ -186,8 +186,8 @@ piece_table_piece_split(piece_table *pt, piece *p, size_t pos) /* Returns the first piece */ piece *second; assert(pos < p->length); - assert(p->start != 0); /* Not a sentinel piece */ - assert(p->length != 0); /* Not an empty piece (they should not exist) */ + assert(p->buffer != NULL); /* Not a sentinel piece */ + assert(p->length != 0); /* Not an empty piece (they should not exist) */ if ( pos == 0 ) { return p->prev; @@ -196,6 +196,7 @@ piece_table_piece_split(piece_table *pt, piece *p, size_t pos) second->length = p->length - pos; p->length = pos; second->next = p->next; + second->next->prev = second; p->next = second; second->prev = p; second->start = p->start + pos; @@ -385,7 +386,7 @@ piece_table_create (char *orig) pt->sentinel->prev = original; pt->empty = NULL; - pt->cached = NULL; + pt->cached = original; pt->cached_offset = 0; return pt; } -- cgit v1.2.3