threads / patch / 65172

patchbloom: remove a misleading const qualifier

Subject: [PATCH] bloom: remove a misleading const qualifier

## tl;dr

2 messages between Mar 9, 2026 and Mar 9, 2026. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Collin Funk· Mar 9, 2026, 02:55 UTC · lore
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(-)
Show changes to bloom.c +2 −2
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· Mar 9, 2026, 14:59 UTC · re: Collin Funk · lore

Re: [PATCH] bloom: remove a misleading const qualifier

Collin Funk <collin.funk1@gmail.com> writes:
Show 10 quoted lines
> 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.
Show 27 quoted lines
> 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);

← back to recent threads