From: Martin Willi Date: Wed, 10 Dec 2014 13:26:14 +0000 (+0100) Subject: dumm: Fix -Wformat warning in ruby extension X-Git-Tag: 5.2.2rc1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48633b1844b9a00436c6001354822358c97a2c09;p=thirdparty%2Fstrongswan.git 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. --- diff --git a/src/dumm/ext/dumm.c b/src/dumm/ext/dumm.c index d791c089d1..df7ec47032 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)); }