Hey everyone, the following patch creates a testcase on top of the master branch for bsprintf with %lR which fails on both my raspberrys (Raspbian Buster, armv6l and armv7l, gcc version 8.3.0). I noticed it by looking at
$ birdc6 show babel entries
which prints all router ids as 00:00:00:00:00:00:00:00 (except for the
<self> prefixes). The issue exists in both tags v1.6.6 and v2.0.4.
Best regards,
Max
---
diff --git a/lib/printf_test.c b/lib/printf_test.c
index a2683d93..c1843f07 100644
--- a/lib/printf_test.c
+++ b/lib/printf_test.c
@@ -18,6 +18,14 @@
bt_assert_msg(memcmp(buf, res, nw) == 0, "fmt=\"%s\" writes \"%*s\", want
\"%*s\"", fmt, (n < nw ? n : nw), buf, nw, res); \
} while (0)
+static int
+t_router_id(void)
+{
+ char buf[256];
+ BSPRINTF(23, "01:02:03:04:05:06:07:08", buf, "%lR", 0x102030405060708);
+ return 1;
+}
+
static int
t_simple(void)
{
@@ -74,6 +82,7 @@ main(int argc, char *argv[])
bt_init(argc, argv);
bt_test_suite(t_simple, "printf without varargs");
+ bt_test_suite(t_router_id, "print router id");
return bt_exit_value();
}
signature.asc
Description: PGP signature
