]> git.ipfire.org Git - thirdparty/git.git/commit
global: constify some pointers that are not written to
authorCollin Funk <collin.funk1@gmail.com>
Fri, 6 Feb 2026 01:46:09 +0000 (17:46 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Feb 2026 01:52:49 +0000 (17:52 -0800)
commit4ac4705afa3ab660e206c2b870bfae2ddb647ffa
tree491ad0c6da16c043e2c9691fec84e4d5eff7605e
parent67ad42147a7acc2af6074753ebd03d904476118f
global: constify some pointers that are not written to

The recent glibc 2.43 release had the following change listed in its
NEWS file:

    For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
    strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return
    pointers into their input arrays now have definitions as macros that
    return a pointer to a const-qualified type when the input argument is
    a pointer to a const-qualified type.

When compiling with GCC 15, which defaults to -std=gnu23, this causes
many warnings like this:

    merge-ort.c: In function ‘apply_directory_rename_modifications’:
    merge-ort.c:2734:36: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     2734 |                 char *last_slash = strrchr(cur_path, '/');
          |                                    ^~~~~~~

This patch fixes the more obvious ones by making them const when we do
not write to the returned pointer.

Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
28 files changed:
add-patch.c
apply.c
builtin/commit.c
builtin/receive-pack.c
builtin/remote.c
builtin/shortlog.c
config.c
convert.c
diff.c
diffcore-rename.c
fmt-merge-msg.c
fsck.c
gpg-interface.c
help.c
http-push.c
mailinfo.c
mem-pool.c
merge-ort.c
object-name.c
pack-revindex.c
pkt-line.c
reflog-walk.c
scalar.c
strbuf.c
string-list.c
t/unit-tests/clar/clar/print.h
transport.c
wrapper.c