[librsvg: 62/95] Thoroughly deprecate rsvg_handle_get_metadata(). Returns NULL always.



commit b11c50a68553dba6d90f63ae10422c40e0180107
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Feb 21 11:00:16 2018 -0600

    Thoroughly deprecate rsvg_handle_get_metadata().  Returns NULL always.
    
    The code wanted to reconstruct the XML contents of the <metadata>
    element so that they could be fetched with the API as a string.
    However, it never did this correctly.  So, we return NULL now and
    remove the machinery to actually try to reconstruct the XML.
    
    Commit a61da7471f951317e665f90fea51badc57781a2c deprecated this
    function, and its comment says:
    
        Deprecate the title, desc, and metadata accessors
    
        They're unused except for bindings, according to codesearch. They're also
        implemented incorrectly (only allow retrieving the toplevel's data), and
        did I mention they're completely unused?
    
    Since they were unused back in 2011, we can hopefully safely deprecate
    this now.

 rsvg-base.c    | 58 +---------------------------------------------------------
 rsvg-handle.c  | 12 ++----------
 rsvg-private.h |  1 -
 3 files changed, 3 insertions(+), 68 deletions(-)
---
diff --git a/rsvg-base.c b/rsvg-base.c
index a42c08fc..6f3401ee 100644
--- a/rsvg-base.c
+++ b/rsvg-base.c
@@ -123,7 +123,6 @@ typedef struct {
 /* hide this fact from the general public */
 typedef RsvgSaxHandlerExtra RsvgSaxHandlerTitle;
 typedef RsvgSaxHandlerExtra RsvgSaxHandlerDesc;
-typedef RsvgSaxHandlerExtra RsvgSaxHandlerMetadata;
 
 static void
 rsvg_style_handler_free (RsvgSaxHandler * self)
@@ -456,7 +455,7 @@ rsvg_standard_element_start (RsvgHandle *handle, const char *name, RsvgPropertyB
     newnode = rsvg_node_unref (newnode);
 }
 
-/* extra (title, desc, metadata) */
+/* extra (title, desc) */
 
 static void
 rsvg_extra_handler_free (RsvgSaxHandler * self)
@@ -560,59 +559,6 @@ rsvg_start_title (RsvgHandle *handle)
 
 /* end title */
 
-/* start metadata */
-
-static void
-rsvg_metadata_handler_start (RsvgSaxHandler * self, const char *name, RsvgPropertyBag atts)
-{
-    RsvgSaxHandlerMetadata *z = (RsvgSaxHandlerMetadata *) self;
-    RsvgPropertyBagIter *iter;
-    const char *key;
-    RsvgAttribute attr;
-    const char *value;
-
-    rsvg_extra_handler_start (self, name, atts);
-
-    if (!z->string)
-        return;
-
-    g_string_append_printf (z->string, "<%s ", name);
-
-    iter = rsvg_property_bag_iter_begin (atts);
-
-    while (rsvg_property_bag_iter_next (iter, &key, &attr, &value)) {
-        g_string_append_printf (z->string, "%s=\"%s\" ", key, value);
-    }
-
-    rsvg_property_bag_iter_end (iter);
-
-    g_string_append (z->string, ">\n");
-}
-
-static void
-rsvg_metadata_handler_end (RsvgSaxHandler * self, const char *name)
-{
-    RsvgSaxHandlerMetadata *z = (RsvgSaxHandlerMetadata *) self;
-
-    if (strcmp (name, z->name) != 0) {
-        if (z->string)
-            g_string_append_printf (z->string, "</%s>\n", name);
-    } else {
-        rsvg_extra_handler_end (self, name);
-    }
-}
-
-static void
-rsvg_start_metadata (RsvgHandle *handle)
-{
-    RsvgSaxHandlerMetadata *handler = rsvg_start_extra (handle, "metadata", &handle->priv->metadata);
-
-    handler->super.start_element = rsvg_metadata_handler_start;
-    handler->super.end_element = rsvg_metadata_handler_end;
-}
-
-/* end metadata */
-
 /* start xinclude */
 
 typedef struct _RsvgSaxHandlerXinclude {
@@ -841,8 +787,6 @@ rsvg_start_element (void *data, const xmlChar * name, const xmlChar ** atts)
             rsvg_start_title (handle);
         else if (!strcmp ((const char *) name, "desc"))
             rsvg_start_desc (handle);
-        else if (!strcmp ((const char *) name, "metadata"))
-            rsvg_start_metadata (handle);
         else if (!strcmp ((const char *) name, "include"))      /* xi:include */
             rsvg_start_xinclude (handle, bag);
         else
diff --git a/rsvg-handle.c b/rsvg-handle.c
index 18efb4bd..7459b3ff 100644
--- a/rsvg-handle.c
+++ b/rsvg-handle.c
@@ -219,8 +219,6 @@ rsvg_handle_dispose (GObject *instance)
         g_string_free (self->priv->title, TRUE);
     if (self->priv->desc)
         g_string_free (self->priv->desc, TRUE);
-    if (self->priv->metadata)
-        g_string_free (self->priv->metadata, TRUE);
     if (self->priv->base_uri)
         g_free (self->priv->base_uri);
 
@@ -703,10 +701,7 @@ rsvg_handle_get_base_uri (RsvgHandle * handle)
  * rsvg_handle_get_metadata:
  * @handle: An #RsvgHandle
  *
- * Returns the SVG's metadata in UTF-8 or %NULL. You must make a copy
- * of this metadata if you wish to use it after @handle has been freed.
- *
- * Returns: (nullable): The SVG's title
+ * Returns: (nullable): This function always returns #NULL.
  *
  * Since: 2.9
  *
@@ -717,10 +712,7 @@ rsvg_handle_get_metadata (RsvgHandle * handle)
 {
     g_return_val_if_fail (handle, NULL);
 
-    if (handle->priv->metadata)
-        return handle->priv->metadata->str;
-    else
-        return NULL;
+    return NULL;
 }
 
 /**
diff --git a/rsvg-private.h b/rsvg-private.h
index 18791879..29217857 100644
--- a/rsvg-private.h
+++ b/rsvg-private.h
@@ -176,7 +176,6 @@ struct RsvgHandlePrivate {
 
     GString *title;
     GString *desc;
-    GString *metadata;
 
     gchar *base_uri;
     GFile *base_gfile;


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