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();
}

Attachment: signature.asc
Description: PGP signature

Reply via email to