summaryrefslogtreecommitdiff
path: root/libgupnp-av
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2018-02-13 22:09:50 +0100
committerJens Georg <mail@jensge.org>2018-02-13 22:10:30 +0100
commit4a89f7545843eb943045274750d5021182321d6d (patch)
treef6aa161cb488f21524b80cb4e41d0d0b3c65b4e7 /libgupnp-av
parent221ad831d27ce65ff3d3034453a577a2f9cbe359 (diff)
downloadgupnp-av-4a89f7545843eb943045274750d5021182321d6d.tar.gz
Fix parsing of storageUsed
For some reason, it was implemented as multi-valued property https://bugzilla.gnome.org/show_bug.cgi?id=770174
Diffstat (limited to 'libgupnp-av')
-rw-r--r--libgupnp-av/gupnp-didl-lite-container.c16
-rw-r--r--libgupnp-av/xml-util.c2
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);
}
}