Message ID | 20241113134212.20698-1-prestwoj@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | monitor: add better info about the country code IE | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
prestwoj/iwd-alpine-ci-fetch | success | Fetch PR |
prestwoj/iwd-ci-gitlint | success | GitLint |
prestwoj/iwd-ci-fetch | success | Fetch PR |
prestwoj/iwd-alpine-ci-setupell | success | Prep - Setup ELL |
prestwoj/iwd-ci-setupell | success | Prep - Setup ELL |
prestwoj/iwd-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-ci-incremental_build | success | Incremental build not run PASS |
prestwoj/iwd-alpine-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-alpine-ci-incremental_build | success | Incremental build not run PASS |
prestwoj/iwd-ci-build | success | Build - Configure |
prestwoj/iwd-alpine-ci-build | success | Build - Configure |
prestwoj/iwd-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-ci-clang | success | clang PASS |
prestwoj/iwd-ci-makecheck | success | Make Check |
prestwoj/iwd-alpine-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-alpine-ci-makecheck | success | Make Check |
prestwoj/iwd-ci-testrunner | success | test-runner PASS |
Hi James, On 11/13/24 7:42 AM, James Prestwood wrote: > The 3rd byte of the country code was being printed as ASCII but this > byte isn't always a printable character. Instead we can check what > the value is and describe what it means from the spec. > --- > monitor/nlmon.c | 25 ++++++++++++++++++++++++- > 1 file changed, 24 insertions(+), 1 deletion(-) > Applied, thanks. Regards, -Denis
diff --git a/monitor/nlmon.c b/monitor/nlmon.c index ac594c3c..60adddc5 100644 --- a/monitor/nlmon.c +++ b/monitor/nlmon.c @@ -491,7 +491,30 @@ static void print_ie_country(unsigned int level, const char *label, return; } - print_attr(level, "%s: %c%c%c", label, code[0], code[1], code[2]); + print_attr(level, "%s: %c%c", label, code[0], code[1]); + + switch (code[2]) { + case ' ': + print_attr(level + 1, + "3rd octet: 0x%02x: All environments", code[2]); + break; + case 'O': + print_attr(level + 1, + "3rd octet: 0x%02x: Outdoor environments", code[2]); + break; + case 'I': + print_attr(level + 1, + "3rd octet: 0x%02x: Indoor environments", code[2]); + break; + case 'X': + print_attr(level + 1, + "3rd octet: 0x%02x: Non-country entity", code[2]); + break; + default: + print_attr(level + 1, + "3rd octet: 0x%02x: Annex E table", code[2]); + break; + } while (i < size) { if (code[i] > 200) {