[librsvg: 52/95] rsvg_metadata_handler_start(): Use iteration instead of rsvg_property_bag_enumerate()



commit 73ea7e3fa6e4b620dbcf234a6e562b3a2486f4b3
Author: Federico Mena Quintero <federico gnome org>
Date:   Tue Feb 20 19:16:03 2018 -0600

    rsvg_metadata_handler_start(): Use iteration instead of rsvg_property_bag_enumerate()

 rsvg-base.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)
---
diff --git a/rsvg-base.c b/rsvg-base.c
index 3fe71f01..6321e56c 100644
--- a/rsvg-base.c
+++ b/rsvg-base.c
@@ -552,17 +552,13 @@ rsvg_start_title (RsvgHandle *handle)
 
 /* start metadata */
 
-static void
-rsvg_metadata_props_enumerate (const char *key, const char *value, gpointer user_data)
-{
-    GString *metadata = (GString *) user_data;
-    g_string_append_printf (metadata, "%s=\"%s\" ", key, value);
-}
-
 static void
 rsvg_metadata_handler_start (RsvgSaxHandler * self, const char *name, RsvgPropertyBag atts)
 {
     RsvgSaxHandlerMetadata *z = (RsvgSaxHandlerMetadata *) self;
+    RsvgPropertyBagIter *iter;
+    const char *key;
+    const char *value;
 
     rsvg_extra_handler_start (self, name, atts);
 
@@ -570,7 +566,15 @@ rsvg_metadata_handler_start (RsvgSaxHandler * self, const char *name, RsvgProper
         return;
 
     g_string_append_printf (z->string, "<%s ", name);
-    rsvg_property_bag_enumerate (atts, rsvg_metadata_props_enumerate, z->string);
+
+    iter = rsvg_property_bag_iter_begin (atts);
+
+    while (rsvg_property_bag_iter_next (iter, &key, &value)) {
+        g_string_append_printf (z->string, "%s=\"%s\" ", key, value);
+    }
+
+    rsvg_property_bag_iter_end (iter);
+
     g_string_append (z->string, ">\n");
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]