Silent discard-qualifiers warnings in C23

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.
This commit is contained in:
Petr Písař 2026-02-23 12:09:41 +01:00
parent 1024386831
commit 6b4784ab1e

14
whois.c
View File

@ -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;