From: Evan Nemerson Date: Wed, 25 Mar 2009 20:46:10 +0000 (-0700) Subject: vapigen: Allow metadata files to set PrintfFormat X-Git-Tag: 0.6.0~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fb50e7770915b36570df026e08957d4e68ed835;p=thirdparty%2Fvala.git vapigen: Allow metadata files to set PrintfFormat Fixes bug 576765. --- diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala index 9e72baab2..d44a77d86 100644 --- a/vala/valacodewriter.vala +++ b/vala/valacodewriter.vala @@ -851,6 +851,10 @@ public class Vala.CodeWriter : CodeVisitor { write_indent (); write_string ("[ReturnsModifiedPointer]"); } + if (m.printf_format) { + write_indent (); + write_string ("[PrintfFormat]"); + } var ccode_params = new StringBuilder (); var separator = ""; diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index c5a27a6d0..33805539e 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -1393,6 +1393,10 @@ public class Vala.GIdlParser : CodeVisitor { if (eval (nv[1]) == "1") { add_ellipsis = true; } + } else if (nv[0] == "printf_format") { + if (eval (nv[1]) == "1") { + m.printf_format = true; + } } else if (nv[0] == "transfer_ownership") { if (eval (nv[1]) == "1") { return_type.value_owned = true; @@ -1450,7 +1454,6 @@ public class Vala.GIdlParser : CodeVisitor { } else if (nv[0] == "vfunc_name") { m.vfunc_name = eval (nv[1]); } - } }