[gupnp-av] Fix parsing of storageUsed



commit 4a89f7545843eb943045274750d5021182321d6d
Author: Jens Georg <mail jensge org>
Date:   Tue Feb 13 22:09:50 2018 +0100

    Fix parsing of storageUsed
    
    For some reason, it was implemented as multi-valued property
    
    https://bugzilla.gnome.org/show_bug.cgi?id=770174

 libgupnp-av/gupnp-didl-lite-container.c |   16 ++++------------
 libgupnp-av/xml-util.c                  |    2 +-
 2 files changed, 5 insertions(+), 13 deletions(-)
---
diff --git a/libgupnp-av/gupnp-didl-lite-container.c b/libgupnp-av/gupnp-didl-lite-container.c
index d7ac578..9956b42 100644
--- a/libgupnp-av/gupnp-didl-lite-container.c
+++ b/libgupnp-av/gupnp-didl-lite-container.c
@@ -537,26 +537,18 @@ gupnp_didl_lite_container_get_search_classes (GUPnPDIDLLiteContainer *container)
 gint64
 gupnp_didl_lite_container_get_storage_used (GUPnPDIDLLiteContainer *container)
 {
-        GList *storage = NULL;
         xmlNode *xml_node;
         const char *str;
 
         g_return_val_if_fail (container != NULL, 0);
         g_return_val_if_fail (GUPNP_IS_DIDL_LITE_CONTAINER (container), 0);
 
-        storage = gupnp_didl_lite_object_get_properties (
-                                        GUPNP_DIDL_LITE_OBJECT (container),
-                                        "storageUsed");
-        if (storage == NULL)
+        xml_node = gupnp_didl_lite_object_get_xml_node
+                                (GUPNP_DIDL_LITE_OBJECT (container));
+        str = xml_util_get_child_element_content (xml_node, "storageUsed");
+        if (str == NULL)
                 return -1;
 
-        /* only return value from first node */
-        xml_node = (xmlNode *) storage->data;
-
-        g_list_free (storage);
-
-        str = (const char *) xml_node->content;
-
         return g_ascii_strtoll (str, NULL, 10);
 }
 /**
diff --git a/libgupnp-av/xml-util.c b/libgupnp-av/xml-util.c
index 4e82a2b..ad2ee1f 100644
--- a/libgupnp-av/xml-util.c
+++ b/libgupnp-av/xml-util.c
@@ -77,7 +77,7 @@ xml_doc_unref (GUPnPAVXMLDoc *doc)
         if (g_atomic_int_dec_and_test (&doc->refcount)) {
                 xmlFreeDoc (doc->doc);
                 doc->doc = NULL;
-                g_free(doc);
+                g_free (doc);
         }
 }
 


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