]> git.ipfire.org Git - thirdparty/libsolv.git/commit
Fix const correctness warnings 619/head
authorPetr Písař <ppisar@redhat.com>
Tue, 28 Apr 2026 14:54:17 +0000 (16:54 +0200)
committerPetr Písař <ppisar@redhat.com>
Tue, 28 Apr 2026 15:24:59 +0000 (17:24 +0200)
commit8138910e5cff39976945b9ac711f39963a0833ae
treee9ffb6e8c8dc34a11e187900efe11b38e72252c3
parent37a47d24e81fd3c02b0fdc7f0dd440e95e9fe7ae
Fix const correctness warnings

Glibc 2.43 implements C23 const-preserving string-search functions
<https://sourceware.org/glibc/wiki/Release/2.43#C23_Const-Preserving_Standard_Library_Macros_May_Break_Some_Packages>.

Building libsolv with that glibc and GCC which defaults to C23
language (since GCC 15) prints these warnings:

    /home/test/libsolv/src/selection.c: In function ‘selection_name_arch_rel’:
    /home/test/libsolv/src/selection.c:907:14: warning: assignment discards ‘const’ qualifier from pointer
    target type [-Wdiscarded-qualifiers]
      907 |       if ((r = strpbrk(name, "<=>")) != 0)
  |              ^

    /home/test/libsolv/src/selection.c: In function ‘selection_canon’:
    /home/test/libsolv/src/selection.c:1175:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     1175 |       if ((r = strchr(name, '_')) == 0)
  |              ^
    /home/test/libsolv/src/selection.c:1198:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     1198 |       if ((r = strchr(name, '-')) == 0)
  |              ^
    /home/test/libsolv/src/selection.c:1219:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     1219 |   if ((r = strrchr(name, '-')) == 0)
  |          ^

    /home/test/libsolv/src/suse.c: In function ‘repo_fix_supplements’:
    /home/test/libsolv/src/suse.c:166:23: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
      166 |           else if ((p = strchr(dep, ':')) != 0 && p != dep && p[1] == '/' && strlen(dep) < sizeof(buf))
  |                       ^

    /home/test/libsolv/ext/solv_xfopen.c: In function ‘solv_xfopen’:
    /home/test/libsolv/ext/solv_xfopen.c:670:7: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
      670 |   suf = strrchr(fn, '.');
  |       ^
    /home/test/libsolv/ext/solv_xfopen.c: In function ‘solv_xfopen_fd’:
    /home/test/libsolv/ext/solv_xfopen.c:737:7: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
      737 |   suf = fn ? strrchr(fn, '.') : 0;
  |       ^

This patch fixes them.
ext/solv_xfopen.c
src/selection.c
src/suse.c