| 463 | } PageBuilder; |
| 464 | |
| 465 | static void pb_init(PageBuilder *pb, FILE *fp, uint32_t start_page, bool is_index) { |
| 466 | pb->fp = fp; |
| 467 | pb->next_page = start_page; |
| 468 | pb->is_index = is_index; |
| 469 | pb->cell_count = 0; |
| 470 | pb->content_offset = CBM_PAGE_SIZE; |
| 471 | pb->page1_offset = (start_page == SKIP_ONE) ? SQLITE_HEADER_SIZE : 0; |
| 472 | // Header: flag(1) + freeblock(2) + cell_count(2) + content_start(2) + fragmented(1) = 8 |
| 473 | pb->ptr_offset = pb->page1_offset + BTREE_HEADER_SIZE; |
| 474 | memset(pb->page, 0, CBM_PAGE_SIZE); |
| 475 | pb->leaves = NULL; |
| 476 | pb->leaf_count = 0; |
| 477 | pb->leaf_cap = 0; |
| 478 | } |
| 479 | |
| 480 | static void pb_free(PageBuilder *pb) { |
| 481 | if (pb->leaves) { |
no outgoing calls
no test coverage detected