From 48633b1844b9a00436c6001354822358c97a2c09 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Wed, 10 Dec 2014 14:26:14 +0100 Subject: [PATCH] dumm: Fix -Wformat warning in ruby extension In recent ruby versions, extensions get built with -Wformat. As we use custom printf specifiers, that does not work for us. As there does not seem to be a reliable way to override -Wformat, we use a variable for the format string, which prevents gcc from doing the -Wformat check in that particular situation. --- src/dumm/ext/dumm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dumm/ext/dumm.c b/src/dumm/ext/dumm.c index d791c089d..df7ec4703 100644 --- a/src/dumm/ext/dumm.c +++ b/src/dumm/ext/dumm.c @@ -629,7 +629,7 @@ static VALUE iface_each_addr(int argc, VALUE *argv, VALUE self) linked_list_t *list; iface_t *iface; host_t *addr; - char buf[64]; + char buf[64], *fmt = "%H"; if (!rb_block_given_p()) { @@ -645,7 +645,7 @@ static VALUE iface_each_addr(int argc, VALUE *argv, VALUE self) enumerator->destroy(enumerator); while (list->remove_first(list, (void**)&addr) == SUCCESS) { - snprintf(buf, sizeof(buf), "%H", addr); + snprintf(buf, sizeof(buf), fmt, addr); addr->destroy(addr); rb_yield(rb_str_new2(buf)); }