Write an empty index leaf page.
| 1262 | |
| 1263 | // Write an empty index leaf page. |
| 1264 | static uint32_t write_empty_index_leaf(FILE *fp, uint32_t *next_page) { |
| 1265 | *next_page = cbm_skip_pending_byte(*next_page); |
| 1266 | uint32_t pnum = (*next_page)++; |
| 1267 | uint8_t page[CBM_PAGE_SIZE]; |
| 1268 | memset(page, 0, CBM_PAGE_SIZE); |
| 1269 | page[0] = NEWLINE_BYTE; |
| 1270 | put_u16(page + HDR_FREEBLOCK_OFF, 0); |
| 1271 | put_u16(page + HDR_CELLCOUNT_OFF, 0); |
| 1272 | put_u16(page + HDR_CONTENT_OFF, (uint16_t)CBM_PAGE_SIZE); |
| 1273 | page[HDR_FRAGBYTES_OFF] = 0; |
| 1274 | (void)fseek(fp, (long)(pnum - SKIP_ONE) * CBM_PAGE_SIZE, SEEK_SET); |
| 1275 | (void)fwrite(page, SKIP_ONE, CBM_PAGE_SIZE, fp); |
| 1276 | return pnum; |
| 1277 | } |
| 1278 | |
| 1279 | // Write leaf pages for an index, returns root page. |
| 1280 | static uint32_t write_index_btree(FILE *fp, uint32_t *next_page, uint8_t **cells, int *cell_lens, |
no test coverage detected