Subject: Re: [PATCH v3 2/7] reftable: change the type of array indices to 'size_t' in reftable/pq.c

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 11 Jun 2024 11:02:14 +0200

On Tue, Jun 11, 2024 at 01:49:19PM +0530, Chandra Pratap wrote:

This commit is missing a commit message. The important information that
the reader needs to understand this change is that `pq->len` is of type
`size_t`, as well. So that information should probably go in here.

Other than that this patch series looks good to me, thanks!

Patrick

> Mentored-by: Patrick Steinhardt <[email-masked]>
> Mentored-by: Christian Couder <[email-masked]>
> Signed-off-by: Chandra Pratap <[email-masked]>
> ---
>  reftable/pq.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/reftable/pq.c b/reftable/pq.c
> index 1a180c5fa6..2b5b7d1c0e 100644
> --- a/reftable/pq.c
> +++ b/reftable/pq.c
> @@ -22,15 +22,15 @@ int pq_less(struct pq_entry *a, struct pq_entry *b)
>  
>  struct pq_entry merged_iter_pqueue_remove(struct merged_iter_pqueue *pq)
>  {
> -	int i = 0;
> +	size_t i = 0;
>  	struct pq_entry e = pq->heap[0];
>  	pq->heap[0] = pq->heap[pq->len - 1];
>  	pq->len--;
>  
>  	while (i < pq->len) {
> -		int min = i;
> -		int j = 2 * i + 1;
> -		int k = 2 * i + 2;
> +		size_t min = i;
> +		size_t j = 2 * i + 1;
> +		size_t k = 2 * i + 2;
>  		if (j < pq->len && pq_less(&pq->heap[j], &pq->heap[i]))
>  			min = j;
>  		if (k < pq->len && pq_less(&pq->heap[k], &pq->heap[min]))
> @@ -46,14 +46,14 @@ struct pq_entry merged_iter_pqueue_remove(struct merged_iter_pqueue *pq)
>  
>  void merged_iter_pqueue_add(struct merged_iter_pqueue *pq, const struct pq_entry *e)
>  {
> -	int i = 0;
> +	size_t i = 0;
>  
>  	REFTABLE_ALLOC_GROW(pq->heap, pq->len + 1, pq->cap);
>  	pq->heap[pq->len++] = *e;
>  
>  	i = pq->len - 1;
>  	while (i > 0) {
> -		int j = (i - 1) / 2;
> +		size_t j = (i - 1) / 2;
>  		if (pq_less(&pq->heap[j], &pq->heap[i]))
>  			break;
>  		SWAP(pq->heap[j], pq->heap[i]);
> -- 
> 2.45.2.404.g9eaef5822c
>