git: 657c089950a0 - main - lib80211: fix build with eXpat 2.9.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 07 Oct 2026 01:16:47 UTC
The branch main has been updated by philip:
URL: https://cgit.FreeBSD.org/src/commit/?id=657c089950a0388811c7ba3f6d3e7127c297864e
commit 657c089950a0388811c7ba3f6d3e7127c297864e
Author: Philip Paeps <philip@FreeBSD.org>
AuthorDate: 2026-10-06 03:14:03 +0000
Commit: Philip Paeps <philip@FreeBSD.org>
CommitDate: 2026-10-07 01:15:49 +0000
lib80211: fix build with eXpat 2.9.0
eXpat 2.9.0 deprecates XML_GetCurrentLineNumber() in favour of
XML_GetCurrentLineNumber64(). The new function behaves the same
as the old one but is not prone to 32 bit integer wrap-around.
---
lib/lib80211/lib80211_regdomain.c | 53 ++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 26 deletions(-)
diff --git a/lib/lib80211/lib80211_regdomain.c b/lib/lib80211/lib80211_regdomain.c
index db353a69f4d9..1e7b001dbbf4 100644
--- a/lib/lib80211/lib80211_regdomain.c
+++ b/lib/lib80211/lib80211_regdomain.c
@@ -30,6 +30,7 @@
#include <sys/sbuf.h>
#include <sys/stat.h>
+#include <inttypes.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
@@ -106,8 +107,8 @@ start_element(void *data, const char *name, const char **attr)
}
if (iseq(name, "netband") && mt->curband == NULL && mt->rd != NULL) {
if (mode == NULL) {
- warnx("no mode for netband at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("no mode for netband at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
return;
}
if (iseq(mode, "11b"))
@@ -125,15 +126,15 @@ start_element(void *data, const char *name, const char **attr)
else if (iseq(mode, "11acg"))
mt->curband = &mt->rd->bands_11acg;
else
- warnx("unknown mode \"%s\" at line %ld",
+ warnx("unknown mode \"%s\" at line %" PRIu64,
__DECONST(char *, mode),
- XML_GetCurrentLineNumber(mt->parser));
+ XML_GetCurrentLineNumber64(mt->parser));
return;
}
if (iseq(name, "band") && mt->netband == NULL) {
if (mt->curband == NULL) {
- warnx("band without enclosing netband at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("band without enclosing netband at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
return;
}
mt->netband = calloc(1, sizeof(struct netband));
@@ -143,8 +144,8 @@ start_element(void *data, const char *name, const char **attr)
if (iseq(name, "freqband") && mt->freqband == NULL && mt->netband != NULL) {
/* XXX handle inlines and merge into table? */
if (mt->netband->band != NULL) {
- warnx("duplicate freqband at line %ld ignored",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("duplicate freqband at line %" PRIu64 " ignored",
+ XML_GetCurrentLineNumber64(mt->parser));
/* XXX complain */
} else
mt->netband->band = (void *)strdup(ref);
@@ -227,8 +228,8 @@ decode_flag(struct mystate *mt, const char *p, int len)
for (i = 0; i < nitems(flags); i++)
if (len == flags[i].len && iseq(p, flags[i].name))
return flags[i].value;
- warnx("unknown flag \"%.*s\" at line %ld ignored",
- len, p, XML_GetCurrentLineNumber(mt->parser));
+ warnx("unknown flag \"%.*s\" at line %" PRIu64 " ignored",
+ len, p, XML_GetCurrentLineNumber64(mt->parser));
return 0;
#undef iseq
}
@@ -269,8 +270,8 @@ end_element(void *data, const char *name)
else if (mt->netband != NULL)
mt->netband->flags |= decode_flag(mt, p, len);
else {
- warnx("flags without freqband or netband at line %ld ignored",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("flags without freqband or netband at line %" PRIu64 " ignored",
+ XML_GetCurrentLineNumber64(mt->parser));
}
goto done;
}
@@ -318,8 +319,8 @@ end_element(void *data, const char *name)
}
if (len != 0) {
- warnx("unexpected XML token \"%s\" data \"%s\" at line %ld",
- name, p, XML_GetCurrentLineNumber(mt->parser));
+ warnx("unexpected XML token \"%s\" data \"%s\" at line %" PRIu64,
+ name, p, XML_GetCurrentLineNumber64(mt->parser));
/* XXX goto done? */
}
/* </freqband> */
@@ -337,12 +338,12 @@ end_element(void *data, const char *name)
/* </band> */
if (iseq(name, "band") && mt->netband != NULL) {
if (mt->netband->band == NULL) {
- warnx("no freqbands for band at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("no freqbands for band at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
}
if (mt->netband->maxPower == 0) {
- warnx("no maxpower for band at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("no maxpower for band at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
}
/* default max power w/ DFS to max power */
if (mt->netband->maxPowerDFS == 0)
@@ -359,16 +360,16 @@ end_element(void *data, const char *name)
if (iseq(name, "country") && mt->country != NULL) {
/* XXX NO_COUNTRY should be in the net80211 country enum */
if ((int) mt->country->code == NO_COUNTRY) {
- warnx("no ISO cc for country at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("no ISO cc for country at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
}
if (mt->country->name == NULL) {
- warnx("no name for country at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("no name for country at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
}
if (mt->country->rd == NULL) {
- warnx("no regdomain reference for country at line %ld",
- XML_GetCurrentLineNumber(mt->parser));
+ warnx("no regdomain reference for country at line %" PRIu64,
+ XML_GetCurrentLineNumber64(mt->parser));
}
mt->country = NULL;
goto done;
@@ -433,9 +434,9 @@ lib80211_regdomain_readconfig(struct regdata *rdp, const void *p, size_t len)
XML_SetElementHandler(mt->parser, start_element, end_element);
XML_SetCharacterDataHandler(mt->parser, char_data);
if (XML_Parse(mt->parser, p, len, 1) != XML_STATUS_OK) {
- warnx("%s: %s at line %ld", __func__,
+ warnx("%s: %s at line %" PRIu64, __func__,
XML_ErrorString(XML_GetErrorCode(mt->parser)),
- XML_GetCurrentLineNumber(mt->parser));
+ XML_GetCurrentLineNumber64(mt->parser));
return -1;
}
XML_ParserFree(mt->parser);