@@ -159,13 +159,13 @@ static int put_varint(uint8_t *buf, int64_t value) {
159159 int n = 0 ;
160160 while (v > VARINT_MASK ) {
161161 tmp [n ++ ] = (uint8_t )(v & VARINT_MASK );
162- v >>= 7 ;
162+ v >>= VARINT_SHIFT ;
163163 }
164164 tmp [n ++ ] = (uint8_t )v ;
165165 // Reverse into output with continuation bits
166166 for (int i = 0 ; i < n ; i ++ ) {
167- buf [i ] = tmp [n - 1 - i ];
168- if (i < n - 1 ) {
167+ buf [i ] = tmp [n - SKIP_ONE - i ];
168+ if (i < n - SKIP_ONE ) {
169169 buf [i ] |= VARINT_CONTINUE ;
170170 }
171171 }
@@ -176,7 +176,7 @@ static int varint_len(int64_t value) {
176176 uint64_t v = (uint64_t )value ;
177177 int n = VARINT_MIN_LEN ;
178178 while (v > VARINT_MASK ) {
179- v >>= 7 ;
179+ v >>= VARINT_SHIFT ;
180180 n ++ ;
181181 }
182182 return n ;
@@ -195,10 +195,10 @@ static int64_t int_serial_type(int64_t val) {
195195 if (val == SERIAL_INT8 ) {
196196 return SERIAL_CONST_ONE ;
197197 }
198- if (val >= - INT8_MAX_VAL - 1 && val <= INT8_MAX_VAL ) {
198+ if (val >= - INT8_MAX_VAL - SKIP_ONE && val <= INT8_MAX_VAL ) {
199199 return SERIAL_SIZE_INT8 ;
200200 }
201- if (val >= - INT16_MAX_VAL - 1 && val <= INT16_MAX_VAL ) {
201+ if (val >= - INT16_MAX_VAL - SKIP_ONE && val <= INT16_MAX_VAL ) {
202202 return SERIAL_SIZE_INT16 ;
203203 }
204204 if (val >= INT24_MIN_VAL && val <= INT24_MAX_VAL ) {
@@ -239,7 +239,7 @@ static int int_storage_bytes(int serial_type) {
239239
240240// Write integer in big-endian for given byte count
241241static void put_int_be (uint8_t * buf , int64_t val , int nbytes ) {
242- for (int i = nbytes - 1 ; i >= 0 ; i -- ) {
242+ for (int i = nbytes - SKIP_ONE ; i >= 0 ; i -- ) {
243243 buf [i ] = (uint8_t )(val & BYTE_MASK );
244244 val >>= SHIFT_8 ;
245245 }
@@ -248,15 +248,15 @@ static void put_int_be(uint8_t *buf, int64_t val, int nbytes) {
248248// Write a 2-byte big-endian value
249249static void put_u16 (uint8_t * buf , uint16_t val ) {
250250 buf [0 ] = (uint8_t )(val >> SHIFT_8 );
251- buf [1 ] = (uint8_t )(val & BYTE_MASK );
251+ buf [SKIP_ONE ] = (uint8_t )(val & BYTE_MASK );
252252}
253253
254254// Write a 4-byte big-endian value
255255static void put_u32 (uint8_t * buf , uint32_t val ) {
256256 buf [0 ] = (uint8_t )(val >> SHIFT_24 );
257257 buf [SKIP_ONE ] = (uint8_t )(val >> SHIFT_16 );
258- buf [2 ] = (uint8_t )(val >> SHIFT_8 );
259- buf [3 ] = (uint8_t )(val & BYTE_MASK );
258+ buf [PAIR_LEN ] = (uint8_t )(val >> SHIFT_8 );
259+ buf [SERIAL_SIZE_INT24 ] = (uint8_t )(val & BYTE_MASK );
260260}
261261
262262// --- Dynamic buffer ---
@@ -331,8 +331,8 @@ static void rec_free(RecordBuilder *r) {
331331}
332332
333333static void rec_add_null (RecordBuilder * r ) {
334- uint8_t v [1 ] = {0 };
335- dynbuf_append (& r -> header , v , 1 );
334+ uint8_t v [SKIP_ONE ] = {0 };
335+ dynbuf_append (& r -> header , v , SKIP_ONE );
336336}
337337
338338static void rec_add_int (RecordBuilder * r , int64_t val ) {
@@ -981,14 +981,14 @@ static uint32_t write_table_btree(FILE *fp, uint32_t *next_page, const uint8_t *
981981 PageBuilder pb ;
982982 pb_init (& pb , fp , * next_page , false);
983983 pb .page1_offset = first_is_page1 ? SQLITE_HEADER_SIZE : 0 ;
984- pb .ptr_offset = pb .page1_offset + 8 ;
984+ pb .ptr_offset = pb .page1_offset + BTREE_HEADER_SIZE ;
985985
986986 for (int i = 0 ; i < count ; i ++ ) {
987987 pb_add_table_cell_with_flush (& pb , rowids [i ], records [i ], record_lens [i ],
988- i > 0 ? rowids [i - 1 ] : 0 );
988+ i > 0 ? rowids [i - SKIP_ONE ] : 0 );
989989 }
990990
991- return pb_finalize_table (& pb , next_page , rowids [count - 1 ]);
991+ return pb_finalize_table (& pb , next_page , rowids [count - SKIP_ONE ]);
992992}
993993
994994// Promote the last cell from current page to separator, un-add it, and flush.
@@ -1037,7 +1037,7 @@ static uint32_t write_index_btree(FILE *fp, uint32_t *next_page, uint8_t **cells
10371037
10381038 for (int i = 0 ; i < count ; i ++ ) {
10391039 if (!pb_cell_fits (& pb , cell_lens [i ]) && pb .cell_count > 0 ) {
1040- if (!pb_promote_and_flush (& pb , cells , cell_lens , i - 1 )) {
1040+ if (!pb_promote_and_flush (& pb , cells , cell_lens , i - SKIP_ONE )) {
10411041 return 0 ;
10421042 }
10431043 }
@@ -1049,7 +1049,7 @@ static uint32_t write_index_btree(FILE *fp, uint32_t *next_page, uint8_t **cells
10491049 return 0 ;
10501050 }
10511051 pb .leaves [pb .leaf_count ].max_key = 0 ;
1052- int last = count - 1 ;
1052+ int last = count - SKIP_ONE ;
10531053 pb .leaves [pb .leaf_count ].sep_cell = (uint8_t * )malloc (cell_lens [last ]);
10541054 memcpy (pb .leaves [pb .leaf_count ].sep_cell , cells [last ], cell_lens [last ]);
10551055 pb .leaves [pb .leaf_count ].sep_cell_len = cell_lens [last ];
@@ -1476,10 +1476,10 @@ static int write_data_tables(write_db_ctx_t *w, uint32_t *nodes_root, uint32_t *
14761476 return ERR_WRITE_FAILED ;
14771477 }
14781478 pb_add_table_cell_with_flush (& pb , w -> nodes [i ].id , rec , rec_len ,
1479- i > 0 ? w -> nodes [i - 1 ].id : 0 );
1479+ i > 0 ? w -> nodes [i - SKIP_ONE ].id : 0 );
14801480 free (rec );
14811481 }
1482- * nodes_root = pb_finalize_table (& pb , & w -> next_page , w -> nodes [w -> node_count - 1 ].id );
1482+ * nodes_root = pb_finalize_table (& pb , & w -> next_page , w -> nodes [w -> node_count - SKIP_ONE ].id );
14831483 } else {
14841484 * nodes_root = write_table_btree (w -> fp , & w -> next_page , NULL , NULL , NULL , 0 , false);
14851485 }
@@ -1494,10 +1494,10 @@ static int write_data_tables(write_db_ctx_t *w, uint32_t *nodes_root, uint32_t *
14941494 return ERR_WRITE_FAILED ;
14951495 }
14961496 pb_add_table_cell_with_flush (& pb , w -> edges [i ].id , rec , rec_len ,
1497- i > 0 ? w -> edges [i - 1 ].id : 0 );
1497+ i > 0 ? w -> edges [i - SKIP_ONE ].id : 0 );
14981498 free (rec );
14991499 }
1500- * edges_root = pb_finalize_table (& pb , & w -> next_page , w -> edges [w -> edge_count - 1 ].id );
1500+ * edges_root = pb_finalize_table (& pb , & w -> next_page , w -> edges [w -> edge_count - SKIP_ONE ].id );
15011501 } else {
15021502 * edges_root = write_table_btree (w -> fp , & w -> next_page , NULL , NULL , NULL , 0 , false);
15031503 }
@@ -1515,7 +1515,7 @@ static void write_metadata_tables(write_db_ctx_t *w, uint32_t *projects_root,
15151515 int proj_lens [] = {proj_rec_len };
15161516 int64_t proj_rowids [] = {FIRST_ROWID };
15171517 * projects_root =
1518- write_table_btree (w -> fp , & w -> next_page , proj_recs , proj_lens , proj_rowids , 1 , false);
1518+ write_table_btree (w -> fp , & w -> next_page , proj_recs , proj_lens , proj_rowids , SKIP_ONE , false);
15191519 free (proj_rec );
15201520
15211521 * file_hashes_root = write_table_btree (w -> fp , & w -> next_page , NULL , NULL , NULL , 0 , false);
@@ -1525,14 +1525,14 @@ static void write_metadata_tables(write_db_ctx_t *w, uint32_t *projects_root,
15251525 RecordBuilder r2 ;
15261526 rec_init (& r1 );
15271527 rec_add_text (& r1 , "nodes" );
1528- rec_add_int (& r1 , w -> node_count > 0 ? w -> nodes [w -> node_count - 1 ].id : 0 );
1528+ rec_add_int (& r1 , w -> node_count > 0 ? w -> nodes [w -> node_count - SKIP_ONE ].id : 0 );
15291529 int seq1_len ;
15301530 uint8_t * seq1 = rec_finalize (& r1 , & seq1_len );
15311531 rec_free (& r1 );
15321532
15331533 rec_init (& r2 );
15341534 rec_add_text (& r2 , "edges" );
1535- rec_add_int (& r2 , w -> edge_count > 0 ? w -> edges [w -> edge_count - 1 ].id : 0 );
1535+ rec_add_int (& r2 , w -> edge_count > 0 ? w -> edges [w -> edge_count - SKIP_ONE ].id : 0 );
15361536 int seq2_len ;
15371537 uint8_t * seq2 = rec_finalize (& r2 , & seq2_len );
15381538 rec_free (& r2 );
@@ -1541,7 +1541,7 @@ static void write_metadata_tables(write_db_ctx_t *w, uint32_t *projects_root,
15411541 int seq_lens [] = {seq1_len , seq2_len };
15421542 int64_t seq_rowids [] = {FIRST_ROWID , FIRST_DATA_PAGE };
15431543 * sqlite_seq_root =
1544- write_table_btree (w -> fp , & w -> next_page , seq_recs , seq_lens , seq_rowids , 2 , false);
1544+ write_table_btree (w -> fp , & w -> next_page , seq_recs , seq_lens , seq_rowids , PAIR_LEN , false);
15451545 free (seq1 );
15461546 free (seq2 );
15471547}
@@ -1685,7 +1685,7 @@ int cbm_write_db(const char *path, const char *project, const char *root_path,
16851685 free (payload );
16861686 uint8_t * cells_arr [] = {cell };
16871687 int lens_arr [] = {total };
1688- autoindex_projects_root = write_index_btree (fp , & next_page , cells_arr , lens_arr , 1 );
1688+ autoindex_projects_root = write_index_btree (fp , & next_page , cells_arr , lens_arr , SKIP_ONE );
16891689 free (cell );
16901690 }
16911691
@@ -1822,7 +1822,7 @@ int cbm_write_db(const char *path, const char *project, const char *root_path,
18221822 // Write the 100-byte SQLite file header
18231823 memcpy (page1 , "SQLite format 3\000" , 16 );
18241824 /* Page size 65536 is encoded as 1 in the 2-byte header field */
1825- put_u16 (page1 + HDR_OFF_PAGE_SIZE , (uint16_t )1 );
1825+ put_u16 (page1 + HDR_OFF_PAGE_SIZE , (uint16_t )SKIP_ONE );
18261826 page1 [HDR_OFF_WRITE_VERSION ] = FILE_FORMAT ; // file format write version
18271827 page1 [HDR_OFF_READ_VERSION ] = FILE_FORMAT ; // file format read version
18281828 page1 [HDR_OFF_RESERVED ] = 0 ; // reserved space per page
@@ -1833,19 +1833,19 @@ int cbm_write_db(const char *path, const char *project, const char *root_path,
18331833 put_u32 (page1 + HDR_OFF_DB_SIZE , next_page - SKIP_ONE ); // total pages
18341834 put_u32 (page1 + HDR_OFF_FREELIST_TRUNK , 0 ); // first freelist trunk page
18351835 put_u32 (page1 + HDR_OFF_FREELIST_COUNT , 0 ); // total freelist pages
1836- put_u32 (page1 + HDR_OFF_SCHEMA_COOKIE , 1 ); // schema cookie
1836+ put_u32 (page1 + HDR_OFF_SCHEMA_COOKIE , SKIP_ONE ); // schema cookie
18371837 put_u32 (page1 + HDR_OFF_SCHEMA_FORMAT , SCHEMA_FORMAT ); // schema format number
18381838 put_u32 (page1 + HDR_OFF_DEFAULT_CACHE , 0 ); // default page cache size
18391839 put_u32 (page1 + HDR_OFF_AUTOVAC_TOP , 0 ); // largest root page (auto-vacuum)
1840- put_u32 (page1 + HDR_OFF_TEXT_ENCODING , 1 ); // text encoding: UTF-8
1840+ put_u32 (page1 + HDR_OFF_TEXT_ENCODING , SKIP_ONE ); // text encoding: UTF-8
18411841 put_u32 (page1 + HDR_OFF_USER_VERSION , 0 ); // user version
18421842 put_u32 (page1 + HDR_OFF_INCR_VACUUM , 0 ); // incremental vacuum mode
18431843 put_u32 (page1 + HDR_OFF_APP_ID , 0 ); // application ID
18441844 // Bytes 72-91: reserved for expansion (zeros)
1845- put_u32 (page1 + HDR_OFF_VERSION_VALID , 1 ); // version-valid-for (change counter)
1845+ put_u32 (page1 + HDR_OFF_VERSION_VALID , SKIP_ONE ); // version-valid-for (change counter)
18461846 put_u32 (page1 + HDR_OFF_SQLITE_VERSION , SQLITE_VERSION ); // SQLite version number
18471847 // Set file change counter = version-valid-for = 1
1848- put_u32 (page1 + HDR_OFF_FILE_CHANGE , 1 );
1848+ put_u32 (page1 + HDR_OFF_FILE_CHANGE , SKIP_ONE );
18491849
18501850 (void )fseek (fp , 0 , SEEK_SET );
18511851 (void )fwrite (page1 , SKIP_ONE , PAGE_SIZE , fp );
0 commit comments