Download raw body.
bgpd: more const correctness
On fedora44 I see the following new warnings:
../../../openbgpd-portable/src/bgpd/parse.y: In function ‘parse_flags’:
../../../openbgpd-portable/src/bgpd/parse.y:5676:24: warning: assignment
discards ‘const’ qualifier from pointer target type
[-Wdiscarded-qualifiers]
5676 | if ((q = strchr(flags, *p)) == NULL)
| ^
../../../openbgpd-portable/src/bgpctl/parser.c: In function
‘parse_prefix’:
../../../openbgpd-portable/src/bgpctl/parser.c:1012:16: warning:
assignment discards ‘const’ qualifier from pointer target type
[-Wdiscarded-qualifiers]
1012 | if ((p = strrchr(word, '/')) != NULL) {
| ^
This is because C23 uses type-generic versions of strchr / strrchr.
The fix is simple since in both cases p and q can also be const.
--
:wq Claudio
Index: bgpctl/parser.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpctl/parser.c,v
diff -u -p -r1.141 parser.c
--- bgpctl/parser.c 24 Sep 2026 11:41:41 -0000 1.141
+++ bgpctl/parser.c 30 Sep 2026 07:15:33 -0000
@@ -1000,8 +1000,8 @@ parse_prefix(const char *word, size_t wo
uint8_t *prefixlen)
{
struct bgpd_addr tmp;
- char *p, *ps;
- const char *errstr;
+ const char *p, *errstr;
+ char *ps;
int mask = -1;
if (word == NULL)
Index: bgpd/parse.y
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v
diff -u -p -r1.506 parse.y
--- bgpd/parse.y 24 Sep 2026 11:41:41 -0000 1.506
+++ bgpd/parse.y 30 Sep 2026 07:14:13 -0000
@@ -5656,7 +5656,8 @@ static int
parse_flags(char *s)
{
const char *flags = FLOWSPEC_TCP_FLAG_STRING;
- char *p, *q;
+ const char *q;
+ char *p;
uint8_t f = 0;
if (curflow->type == FLOWSPEC_TYPE_FRAG) {
bgpd: more const correctness