reftable/block: adjust type of the restart length
The restart length is tracked as a positive integer even though it cannot ever be negative. Furthermore, it is effectively capped via the MAX_RESTARTS variable. Adjust the type of the variable to be `uint32_t`. While this type is excessive given that MAX_RESTARTS fits into an `uint16_t`, other places already use 32 bit integers for restarts, so this type is being more consistent. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
ffe6643668
commit
b1e4b6f4dc
@ -40,16 +40,15 @@ size_t footer_size(int version)
|
|||||||
static int block_writer_register_restart(struct block_writer *w, int n,
|
static int block_writer_register_restart(struct block_writer *w, int n,
|
||||||
int is_restart, struct reftable_buf *key)
|
int is_restart, struct reftable_buf *key)
|
||||||
{
|
{
|
||||||
int rlen, err;
|
uint32_t rlen;
|
||||||
|
int err;
|
||||||
|
|
||||||
rlen = w->restart_len;
|
rlen = w->restart_len;
|
||||||
if (rlen >= MAX_RESTARTS) {
|
if (rlen >= MAX_RESTARTS)
|
||||||
is_restart = 0;
|
is_restart = 0;
|
||||||
}
|
|
||||||
|
|
||||||
if (is_restart) {
|
if (is_restart)
|
||||||
rlen++;
|
rlen++;
|
||||||
}
|
|
||||||
if (2 + 3 * rlen + n > w->block_size - w->next)
|
if (2 + 3 * rlen + n > w->block_size - w->next)
|
||||||
return -1;
|
return -1;
|
||||||
if (is_restart) {
|
if (is_restart) {
|
||||||
@ -148,8 +147,7 @@ done:
|
|||||||
|
|
||||||
int block_writer_finish(struct block_writer *w)
|
int block_writer_finish(struct block_writer *w)
|
||||||
{
|
{
|
||||||
int i;
|
for (uint32_t i = 0; i < w->restart_len; i++) {
|
||||||
for (i = 0; i < w->restart_len; i++) {
|
|
||||||
put_be24(w->block + w->next, w->restarts[i]);
|
put_be24(w->block + w->next, w->restarts[i]);
|
||||||
w->next += 3;
|
w->next += 3;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -84,7 +84,7 @@ struct reftable_block_stats {
|
|||||||
/* total number of entries written */
|
/* total number of entries written */
|
||||||
int entries;
|
int entries;
|
||||||
/* total number of key restarts */
|
/* total number of key restarts */
|
||||||
int restarts;
|
uint32_t restarts;
|
||||||
/* total number of blocks */
|
/* total number of blocks */
|
||||||
int blocks;
|
int blocks;
|
||||||
/* total number of index blocks */
|
/* total number of index blocks */
|
||||||
|
|||||||
Reference in New Issue
Block a user