]> git.ipfire.org Git - thirdparty/rsync.git/commitdiff
Fix glibc-2.43 constness warnings
authorHolger Hoffstätte <holger@applied-asynchrony.com>
Sun, 5 Apr 2026 22:44:02 +0000 (00:44 +0200)
committerAndrew Tridgell <andrew@tridgell.net>
Wed, 22 Apr 2026 02:10:08 +0000 (12:10 +1000)
Glibc 2.43 added C23 const-preserving overloads to various string functions,
which change the return type depending on the constness of the argument(s).
Currently this leads to warnings from calls to strtok() or strchr().
Fix this by properly declaring the respective variable types.

Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
access.c
checksum.c
compat.c
exclude.c
io.c
loadparm.c

index b6afce37c8f43c2abd0c4916baabc2ccffe7dd72..b924e0a3424549ad32c14004f065014b99bff58f 100644 (file)
--- a/access.c
+++ b/access.c
@@ -99,7 +99,7 @@ static void make_mask(char *mask, int plen, int addrlen)
        return;
 }
 
-static int match_address(const char *addr, const char *tok)
+static int match_address(const char *addr, char *tok)
 {
        char *p;
        struct addrinfo hints, *resa, *rest;
index 6f0f95abbcf99e4d90c1334ab162f7a1f497d794..24e46bfbb976e6b4253994c41d555e5bbce956c0 100644 (file)
@@ -176,7 +176,7 @@ void parse_checksum_choice(int final_call)
        if (valid_checksums.negotiated_nni)
                xfer_sum_nni = file_sum_nni = valid_checksums.negotiated_nni;
        else {
-               char *cp = checksum_choice ? strchr(checksum_choice, ',') : NULL;
+               const char *cp = checksum_choice ? strchr(checksum_choice, ',') : NULL;
                if (cp) {
                        xfer_sum_nni = parse_csum_name(checksum_choice, cp - checksum_choice);
                        file_sum_nni = parse_csum_name(cp+1, -1);
index 5b3bfff0c79b1ccaf105e17e518c5c59ed65bc92..d1ca31614444717ee7ea09a7f33dcb07ce4491ef 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -132,7 +132,7 @@ static const char *client_info;
  * of that protocol for it to be advertised as available. */
 static void check_sub_protocol(void)
 {
-       char *dot;
+       const char *dot;
        int their_protocol, their_sub;
        int our_sub = get_subprotocol_version();
 
@@ -415,7 +415,7 @@ static const char *getenv_nstr(int ntype)
                env_str = ntype == NSTR_COMPRESS ? "zlib" : protocol_version >= 30 ? "md5" : "md4";
 
        if (am_server && env_str) {
-               char *cp = strchr(env_str, '&');
+               const char *cp = strchr(env_str, '&');
                if (cp)
                        env_str = cp + 1;
        }
index 87edbcf71b65199d4fb45a93e1b8e712484902f7..24de64f853f931ada372d161e62170dc37141cf7 100644 (file)
--- a/exclude.c
+++ b/exclude.c
@@ -904,7 +904,7 @@ static int rule_matches(const char *fname, filter_rule *ex, int name_flags)
 {
        int slash_handling, str_cnt = 0, anchored_match = 0;
        int ret_match = ex->rflags & FILTRULE_NEGATE ? 0 : 1;
-       char *p, *pattern = ex->pattern;
+       const char *p, *pattern = ex->pattern;
        const char *strings[16]; /* more than enough */
        const char *name = fname + (*fname == '/');
 
diff --git a/io.c b/io.c
index 436bed45ee42891d783b139eb3fd05fc11fabfcb..ec34c4b1654370ab40581623c116cbf9193ee398 100644 (file)
--- a/io.c
+++ b/io.c
@@ -1159,7 +1159,7 @@ void set_io_timeout(int secs)
 static void check_for_d_option_error(const char *msg)
 {
        static const char rsync263_opts[] = "BCDHIKLPRSTWabceghlnopqrtuvxz";
-       char *colon;
+       const char *colon;
        int saw_d = 0;
 
        if (*msg != 'r'
index f557484c4e6a949d9c0a5db8cbb7f21ee62828a8..82faa70c002e36b3669d08aa781cd202dd91dd75 100644 (file)
@@ -178,7 +178,7 @@ static char *expand_vars(const char *str)
 
        for (t = buf, f = str; bufsize && *f; ) {
                if (*f == '%' && isUpper(f+1)) {
-                       char *percent = strchr(f+1, '%');
+                       const char *percent = strchr(f+1, '%');
                        if (percent && percent - f < bufsize) {
                                char *val;
                                strlcpy(t, f+1, percent - f);