From 4fb50e7770915b36570df026e08957d4e68ed835 Mon Sep 17 00:00:00 2001 From: Evan Nemerson Date: Wed, 25 Mar 2009 13:46:10 -0700 Subject: [PATCH] vapigen: Allow metadata files to set PrintfFormat Fixes bug 576765. --- vala/valacodewriter.vala | 4 ++++ vapigen/valagidlparser.vala | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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]); } - } } -- 2.47.2