From 6b4784ab1eb47ab81fb9830473e2f14f77fa5c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 23 Feb 2026 12:09:41 +0100 Subject: [PATCH] Silent discard-qualifiers warnings in C23 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since C23 string searching functions require the same constness qualification of the returned pointer as was a qualification of the input pointer. If there is a mismatch, GCC 16 warns like this: whois.c: In function ‘find_referral_server_arin’: whois.c:900:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 900 | if ((p = strstr(buf, "rwhois://"))) | ^ This patch correts all the occurrences. --- whois.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/whois.c b/whois.c index 60063d7..02034a0 100644 --- a/whois.c +++ b/whois.c @@ -877,7 +877,8 @@ static void find_referral_server_apnic(char **referral_server, const char *buf) static void find_referral_server_arin(char **referral_server, const char *buf) { - char *p; + const char *p; + char *r; /* ARIN referrals: * ReferralServer: rwhois://rwhois.fuse.net:4321/ @@ -903,8 +904,8 @@ static void find_referral_server_arin(char **referral_server, const char *buf) *referral_server = strdup(p + 8); else *referral_server = strdup(buf + 17); - if (*referral_server && (p = strpbrk(*referral_server, "/"))) - *p = '\0'; + if (*referral_server && (r = strpbrk(*referral_server, "/"))) + *r = '\0'; } static void find_referral_server_iana(char **referral_server, const char *buf) @@ -1364,7 +1365,7 @@ char *normalize_domain(const char *dom) void split_server_port(const char *const input, char **server, char **port) { - char *p; + const char *p; if (*input == '[' && (p = strchr(input, ']'))) { /* IPv6 */ char *s; @@ -1396,7 +1397,7 @@ void split_server_port(const char *const input, } /* change the server name to lower case */ - for (p = (char *) *server; *p; p++) + for (char *p = *server; *p; p++) *p = tolower(*p); } @@ -1479,7 +1480,8 @@ char *convert_inaddr(const char *s) char *convert_in6arpa(const char *s) { - char *ip, *p; + char *ip; + const char *p; int character = 0; int digits = 1;