[librsvg] rsvg_standard_element_start(): Remove unnecessary check



commit 747eb2c49e7a39314492bd0e628c16ccca633235
Author: Federico Mena Quintero <federico gnome org>
Date:   Fri Aug 11 18:30:20 2017 -0500

    rsvg_standard_element_start(): Remove unnecessary check
    
    No creator function should ever return a NULL node, so assert that and
    remove the check.
    
    For elements of unknown type, we already turn them into groups in
    get_node_creator_for_element_name().

 rsvg-base.c |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)
---
diff --git a/rsvg-base.c b/rsvg-base.c
index 4fdf4ca..d38a385 100644
--- a/rsvg-base.c
+++ b/rsvg-base.c
@@ -411,28 +411,27 @@ rsvg_standard_element_start (RsvgHandle * ctx, const char *name, RsvgPropertyBag
     g_assert (creator != NULL && creator->create_fn != NULL);
 
     newnode = creator->create_fn (name, ctx->priv->currentnode);
+    g_assert (newnode != NULL);
 
-    if (newnode) {
-        g_assert (rsvg_node_get_type (newnode) != RSVG_NODE_TYPE_INVALID);
+    g_assert (rsvg_node_get_type (newnode) != RSVG_NODE_TYPE_INVALID);
 
-        push_element_name (ctx, name);
+    push_element_name (ctx, name);
 
-        add_node_to_handle (ctx, newnode);
-        register_node_in_defs (ctx, newnode, atts);
+    add_node_to_handle (ctx, newnode);
+    register_node_in_defs (ctx, newnode, atts);
 
-        if (ctx->priv->currentnode) {
-            rsvg_node_add_child (ctx->priv->currentnode, newnode);
-            ctx->priv->currentnode = rsvg_node_unref (ctx->priv->currentnode);
-        } else if (rsvg_node_get_type (newnode) == RSVG_NODE_TYPE_SVG) {
-            ctx->priv->treebase = rsvg_node_ref (newnode);
-        }
+    if (ctx->priv->currentnode) {
+        rsvg_node_add_child (ctx->priv->currentnode, newnode);
+        ctx->priv->currentnode = rsvg_node_unref (ctx->priv->currentnode);
+    } else if (rsvg_node_get_type (newnode) == RSVG_NODE_TYPE_SVG) {
+        ctx->priv->treebase = rsvg_node_ref (newnode);
+    }
 
-        ctx->priv->currentnode = rsvg_node_ref (newnode);
+    ctx->priv->currentnode = rsvg_node_ref (newnode);
 
-        node_set_atts (newnode, ctx, creator, atts);
+    node_set_atts (newnode, ctx, creator, atts);
 
-        newnode = rsvg_node_unref (newnode);
-    }
+    newnode = rsvg_node_unref (newnode);
 }
 
 /* extra (title, desc, metadata) */


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