# [PATCH] bloom: remove a misleading const qualifier

2 messages from 2026-03-09 to 2026-03-09. Participants: Collin Funk, Junio C Hamano.
Thread: https://gitlist.dev/t/65172

## Collin Funk, 2026-03-09 02:55

Subject: [PATCH] bloom: remove a misleading const qualifier
Message-ID: <ab59807b36213a51245965fa46c1770de10bcd2c.1773024911.git.collin.funk1@gmail.com>
URL: https://gitlist.dev/e/ab59807b36213a51245965fa46c1770de10bcd2c.1773024911.git.collin.funk1%40gmail.com

```
When building with glibc-2.43 there is the following warning:

    bloom.c: In function ‘get_or_compute_bloom_filter’:
    bloom.c:515:52: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
      515 |                                 char *last_slash = strrchr(path, '/');
          |                                                    ^~~~~~~

In this case, we always write through "path" through the "last_slash"
pointer. Therefore, the const qualifier on "path" is misleading and we
can just remove it.

Signed-off-by: Collin Funk <collin.funk1@gmail.com>
---
 bloom.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bloom.c b/bloom.c
index 77a6fddf72..a805ac0c29 100644
--- a/bloom.c
+++ b/bloom.c
@@ -501,7 +501,7 @@ struct bloom_filter *get_or_compute_bloom_filter(struct repository *r,
 		struct hashmap_iter iter;
 
 		for (i = 0; i < diff_queued_diff.nr; i++) {
-			const char *path = diff_queued_diff.queue[i]->two->path;
+			char *path = diff_queued_diff.queue[i]->two->path;
 
 			/*
 			 * Add each leading directory of the changed file, i.e. for
@@ -523,7 +523,7 @@ struct bloom_filter *get_or_compute_bloom_filter(struct repository *r,
 					free(e);
 
 				if (!last_slash)
-					last_slash = (char*)path;
+					last_slash = path;
 				*last_slash = '\0';
 
 			} while (*path);
-- 
2.53.0


```

## Junio C Hamano, 2026-03-09 14:59

Subject: Re: [PATCH] bloom: remove a misleading const qualifier
Message-ID: <xmqq7brl6ob6.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq7brl6ob6.fsf%40gitster.g
In-Reply-To: <ab59807b36213a51245965fa46c1770de10bcd2c.1773024911.git.collin.funk1@gmail.com>

```
Collin Funk <collin.funk1@gmail.com> writes:

> When building with glibc-2.43 there is the following warning:
>
>     bloom.c: In function ‘get_or_compute_bloom_filter’:
>     bloom.c:515:52: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>       515 |                                 char *last_slash = strrchr(path, '/');
>           |                                                    ^~~~~~~
>
> In this case, we always write through "path" through the "last_slash"
> pointer. Therefore, the const qualifier on "path" is misleading and we
> can just remove it.

Right.  Thanks.


> Signed-off-by: Collin Funk <collin.funk1@gmail.com>
> ---
>  bloom.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/bloom.c b/bloom.c
> index 77a6fddf72..a805ac0c29 100644
> --- a/bloom.c
> +++ b/bloom.c
> @@ -501,7 +501,7 @@ struct bloom_filter *get_or_compute_bloom_filter(struct repository *r,
>  		struct hashmap_iter iter;
>  
>  		for (i = 0; i < diff_queued_diff.nr; i++) {
> -			const char *path = diff_queued_diff.queue[i]->two->path;
> +			char *path = diff_queued_diff.queue[i]->two->path;
>  
>  			/*
>  			 * Add each leading directory of the changed file, i.e. for
> @@ -523,7 +523,7 @@ struct bloom_filter *get_or_compute_bloom_filter(struct repository *r,
>  					free(e);
>  
>  				if (!last_slash)
> -					last_slash = (char*)path;
> +					last_slash = path;
>  				*last_slash = '\0';
>  
>  			} while (*path);

```
