summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gobject-introspection/gidlwriter.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/gobject-introspection/gidlwriter.c b/gobject-introspection/gidlwriter.c
index cd6cbad2a..2c0cbaa5c 100644
--- a/gobject-introspection/gidlwriter.c
+++ b/gobject-introspection/gidlwriter.c
@@ -138,12 +138,14 @@ function_generate (GIdlWriter * writer, GIdlNodeFunction * node)
"%s name=\"%s\"",
tag_name, node->node.name);
- if (node->node.type != G_IDL_NODE_CALLBACK)
- g_string_append_printf (markup_s,
- g_markup_printf_escaped (" symbol=\"%s\"", node->symbol));
+ if (node->node.type != G_IDL_NODE_CALLBACK) {
+ gchar *tmp = g_markup_printf_escaped (" symbol=\"%s\"", node->symbol);
+ markup_s = g_string_append (markup_s, tmp);
+ g_free (tmp);
+ }
if (node->deprecated)
- g_string_append_printf (markup_s, " deprecated=\"1\"");
+ markup_s = g_string_append (markup_s, " deprecated=\"1\"");
g_string_append (markup_s, ">\n");
@@ -388,18 +390,21 @@ enum_generate (GIdlWriter * writer, GIdlNodeEnum * node)
"%s name=\"%s\"",
tag_name, node->node.name);
- if (node->gtype_name != NULL)
- g_string_append_printf (markup_s,
- g_markup_printf_escaped (" type-name=\"%s\"", node->gtype_name));
-
- if (node->gtype_init != NULL)
- g_string_append_printf (markup_s,
- g_markup_printf_escaped (" get-type=\"%s\"", node->gtype_init));
+ if (node->gtype_name != NULL) {
+ gchar *tmp = g_markup_printf_escaped (" type-name=\"%s\"", node->gtype_name);
+ markup_s = g_string_append (markup_s, tmp);
+ g_free (tmp);
+ }
+ if (node->gtype_init != NULL) {
+ gchar *tmp = g_markup_printf_escaped (" get-type=\"%s\"", node->gtype_init);
+ markup_s = g_string_append (markup_s, tmp);
+ g_free(tmp);
+ }
if (node->deprecated)
- g_string_append_printf (markup_s, " deprecated=\"1\"");
+ markup_s = g_string_append (markup_s, " deprecated=\"1\"");
- g_string_append (markup_s, ">\n");
+ markup_s = g_string_append (markup_s, ">\n");
g_writer_write_indent (writer, markup_s->str);
g_string_free (markup_s, TRUE);