Bug with iwd-3.11 - const char being modified
Rudi Heitbaum <[email protected]> Mon, 9 Feb 2026 20:59:33 +0000
| Newsgroups | dev.linux.lists.iwd |
|---|---|
| Message-ID | <aYpKtVUTo2QHYCT4@ca26aaf82ac7> |
Bug report (as below) for current iwd (including 3.11) - const char being modified.
When compiling iwd with recent gcc and glibc-2.43 the --Wdiscarded-qualifiers
warning occurs because with ISO C23, the function strrrchr 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.
../client/known-networks.c: In function 'known_network_proxy_find_by_name':
../client/known-networks.c:296:29: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
296 | char *dot = strrchr(name, '.');
| ^~~~~~~
The fix would be to declare dot as const char as below, but this surfaces
the error that name (which is const) is being modified. See >>>> below -
this being an error.
Regards
Rudi
--- a/client/known-networks.c
+++ b/client/known-networks.c
@@ -293,13 +293,13 @@
network_args.type = NULL;
if (network_args.type) {
- char *dot = strrchr(name, '.');
+ const char *dot = strrchr(name, '.');
if (!dot)
/* This shouldn't ever be the case */
return NULL;
>>>> *dot = '\0';
}
network_args.name = name;