[libgdata/gxml] * manually add missing changes and remove trailing spaces
- From: Richard Hans Schwarting <rschwart src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgdata/gxml] * manually add missing changes and remove trailing spaces
- Date: Sat, 24 Sep 2011 06:23:25 +0000 (UTC)
commit 70c799f4c26d9b1c6e2fec180b9f18d5457f2809
Author: Richard Schwarting <aquarichy gmail com>
Date: Sat Sep 24 02:18:24 2011 -0400
* manually add missing changes and remove trailing spaces
gdata/atom/gdata-link.c | 1 +
gdata/exif/gdata-exif-tags.c | 14 ++--
gdata/gcontact/gdata-gcontact-jot.c | 2 +-
gdata/gcontact/gdata-gcontact-website.c | 21 ++-----
gdata/gd/gdata-gd-phone-number.c | 2 +-
gdata/gd/gdata-gd-postal-address.c | 2 +-
gdata/gdata-access-rule.c | 6 +-
gdata/gdata-batch-feed.c | 4 +-
gdata/gdata-entry.c | 4 +-
gdata/gdata-feed.c | 2 +-
gdata/gdata-parser.c | 32 +++++++++-
gdata/gdata-parser.h | 3 +
gdata/georss/gdata-georss-where.c | 2 +-
gdata/media/gdata-media-category.c | 6 +-
gdata/media/gdata-media-content.c | 16 +++---
gdata/media/gdata-media-credit.c | 6 +-
gdata/media/gdata-media-group.c | 69 +++++++++++++++++-----
gdata/media/gdata-media-thumbnail.c | 8 +-
gdata/services/calendar/gdata-calendar-event.c | 2 +-
gdata/services/contacts/gdata-contacts-contact.c | 6 +-
gdata/services/contacts/gdata-contacts-group.c | 2 +-
gdata/services/documents/gdata-documents-entry.c | 2 +-
gdata/services/picasaweb/gdata-picasaweb-album.c | 14 ++--
gdata/services/picasaweb/gdata-picasaweb-file.c | 14 ++--
gdata/services/picasaweb/gdata-picasaweb-user.c | 6 +-
gdata/services/youtube/gdata-youtube-control.c | 2 +-
gdata/services/youtube/gdata-youtube-service.c | 8 +-
gdata/services/youtube/gdata-youtube-state.c | 2 +-
gdata/services/youtube/gdata-youtube-video.c | 2 +-
gdata/tests/common.c | 12 ++--
gdata/tests/picasaweb.c | 5 +-
31 files changed, 169 insertions(+), 108 deletions(-)
---
diff --git a/gdata/atom/gdata-link.c b/gdata/atom/gdata-link.c
index 8f6ba46..3c7cb91 100644
--- a/gdata/atom/gdata-link.c
+++ b/gdata/atom/gdata-link.c
@@ -318,6 +318,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
language = gxml_dom_element_get_attribute (root_elem, "hreflang");
if (gxml_dom_element_get_attribute_node (root_elem, "hreflang") != NULL && *language == '\0') {
g_free (language);
+
return gdata_parser_error_required_property_missing (root_node, "hreflang", error);
}
self->priv->language = language;
diff --git a/gdata/exif/gdata-exif-tags.c b/gdata/exif/gdata-exif-tags.c
index bb49f19..3279a17 100644
--- a/gdata/exif/gdata-exif-tags.c
+++ b/gdata/exif/gdata-exif-tags.c
@@ -116,12 +116,12 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
if (g_strcmp0 (node_name, "distance") == 0 ) {
/* exif:distance */
- gchar *distance = gxml_dom_element_get_content (elem);
+ gchar *distance = gdata_parser_element_get_content (elem);
self->priv->distance = g_ascii_strtod (distance, NULL);
g_free (distance);
} else if (g_strcmp0 (node_name, "fstop") == 0) {
/* exif:fstop */
- gchar *fstop = gxml_dom_element_get_content (elem);
+ gchar *fstop = gdata_parser_element_get_content (elem);
self->priv->fstop = g_ascii_strtod (fstop, NULL);
g_free (fstop);
} else if (gdata_parser_string_from_element (node, "make", P_NONE, &(self->priv->make), &success, error) == TRUE ||
@@ -130,24 +130,24 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
return success;
} else if (g_strcmp0 (node_name, "exposure") == 0) {
/* exif:exposure */
- gchar *exposure = gxml_dom_element_get_content (elem);
+ gchar *exposure = gdata_parser_element_get_content (elem);
self->priv->exposure = g_ascii_strtod (exposure, NULL);
g_free (exposure);
} else if (g_strcmp0 (node_name, "flash") == 0) {
/* exif:flash */
- gchar *flash = gxml_dom_element_get_content (elem);
+ gchar *flash = gdata_parser_element_get_content (elem);
if (flash == NULL)
return gdata_parser_error_required_content_missing (node, error);
self->priv->flash = (g_strcmp0 (flash, "true") == 0 ? TRUE : FALSE);
g_free (flash);
} else if (g_strcmp0 (node_name, "focallength") == 0) {
/* exif:focal-length */
- gchar *focal_length = gxml_dom_element_get_content (elem);
+ gchar *focal_length = gdata_parser_element_get_content (elem);
self->priv->focal_length = g_ascii_strtod (focal_length, NULL);
g_free (focal_length);
} else if (g_strcmp0 (node_name, "iso") == 0) {
/* exif:iso */
- gchar *iso = gxml_dom_element_get_content (elem);
+ gchar *iso = gdata_parser_element_get_content (elem);
self->priv->iso = strtol (iso, NULL, 10);
g_free (iso);
} else if (g_strcmp0 (node_name, "time") == 0) {
@@ -155,7 +155,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gchar *time_str;
guint64 milliseconds;
- time_str = gxml_dom_element_get_content (elem);
+ time_str = gdata_parser_element_get_content (elem);
milliseconds = g_ascii_strtoull (time_str, NULL, 10);
g_free (time_str);
diff --git a/gdata/gcontact/gdata-gcontact-jot.c b/gdata/gcontact/gdata-gcontact-jot.c
index 4a8d69d..018b775 100644
--- a/gdata/gcontact/gdata-gcontact-jot.c
+++ b/gdata/gcontact/gdata-gcontact-jot.c
@@ -179,7 +179,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
return gdata_parser_error_required_property_missing (root_node, "rel", error);
}
- priv->content = gxml_dom_element_get_content (root_elem);
+ priv->content = gdata_parser_element_get_content (root_elem);
priv->relation_type = (gchar*) rel;
return TRUE;
diff --git a/gdata/gcontact/gdata-gcontact-website.c b/gdata/gcontact/gdata-gcontact-website.c
index aac505d..e84f9a7 100644
--- a/gdata/gcontact/gdata-gcontact-website.c
+++ b/gdata/gcontact/gdata-gcontact-website.c
@@ -235,7 +235,7 @@ gdata_gcontact_website_set_property (GObject *object, guint property_id, const G
static gboolean
pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root_node, gpointer user_data, GError **error)
{
- gchar *uri, *rel;
+ gchar *uri, *rel, *label;
gboolean primary_bool;
GDataGContactWebsitePrivate *priv = GDATA_GCONTACT_WEBSITE (parsable)->priv;
GXmlDomElement *root_elem = GXML_DOM_ELEMENT (root_node);
@@ -252,27 +252,18 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
/* NOTE: We allow both rel and label to be present when we should probably be asserting that they're mutually exclusive. See the comment in
* pre_get_xml() for details. */
- rel = xmlGetProp (root_node, (xmlChar*) "rel");
- label = xmlGetProp (root_node, (xmlChar*) "label");
- if ((rel == NULL || *rel == '\0') && (label == NULL || *label == '\0')) {
- xmlFree (rel);
- xmlFree (label);
- return gdata_parser_error_required_property_missing (root_node, "rel", error);
- }
-
- priv->relation_type = (gchar*) rel;
- priv->label = (gchar*) label;
- priv->uri = (gchar*) uri;
rel = gxml_dom_element_get_attribute (root_elem, "rel");
- if (rel == NULL || *rel == '\0') {
+ label = gxml_dom_element_get_attribute (root_elem, "label");
+ if ((rel == NULL || *rel == '\0') && (label == NULL || *label == '\0')) {
g_free (uri);
g_free (rel);
+ g_free (label);
return gdata_parser_error_required_property_missing (root_node, "rel", error);
}
- priv->uri = uri;
priv->relation_type = rel;
- priv->label = gxml_dom_element_get_attribute (root_elem, "label");
+ priv->label = label;
+ priv->uri = uri;
priv->is_primary = primary_bool;
return TRUE;
diff --git a/gdata/gd/gdata-gd-phone-number.c b/gdata/gd/gdata-gd-phone-number.c
index 62a850f..d1acd7f 100644
--- a/gdata/gd/gdata-gd-phone-number.c
+++ b/gdata/gd/gdata-gd-phone-number.c
@@ -268,7 +268,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
if (gdata_parser_boolean_from_property (root_node, "primary", &primary_bool, 0, error) == FALSE)
return FALSE;
- number = gxml_dom_element_get_content (root_elem);
+ number = gdata_parser_element_get_content (root_elem);
if (number == NULL || *number == '\0') {
g_free (number);
return gdata_parser_error_required_content_missing (root_node, error);
diff --git a/gdata/gd/gdata-gd-postal-address.c b/gdata/gd/gdata-gd-postal-address.c
index 4f73d4f..28de561 100644
--- a/gdata/gd/gdata-gd-postal-address.c
+++ b/gdata/gd/gdata-gd-postal-address.c
@@ -611,7 +611,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
} else if (g_strcmp0 (gxml_dom_xnode_get_node_name (node), "country") == 0) {
/* gd:country */
priv->country_code = gxml_dom_element_get_attribute (elem, "code");
- priv->country = gxml_dom_element_get_content (elem);
+ priv->country = gdata_parser_element_get_content (elem);
return TRUE;
}
diff --git a/gdata/gdata-access-rule.c b/gdata/gdata-access-rule.c
index 999e0fe..9f9f90a 100644
--- a/gdata/gdata-access-rule.c
+++ b/gdata/gdata-access-rule.c
@@ -293,7 +293,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
node_name = gxml_dom_xnode_get_node_name (node);
if (g_strcmp0 (node_name, "role") == 0) {
/* gAcl:role */
- gchar *role = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (node), "value");
+ gchar *role = gdata_parser_get_attribute (GXML_DOM_ELEMENT (node), "value");
if (role == NULL)
return gdata_parser_error_required_property_missing (node, "value", error);
self->priv->role = role;
@@ -301,11 +301,11 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
/* gAcl:scope */
gchar *scope_type, *scope_value;
- scope_type = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (node), "type");
+ scope_type = gdata_parser_get_attribute (GXML_DOM_ELEMENT (node), "type");
if (scope_type == NULL)
return gdata_parser_error_required_property_missing (node, "type", error);
- scope_value = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (node), "value");
+ scope_value = gdata_parser_get_attribute (GXML_DOM_ELEMENT (node), "value");
if (g_strcmp0 (scope_type, GDATA_ACCESS_SCOPE_DEFAULT) == 0 && scope_value == NULL) {
g_free (scope_type); // TODO:GXML: should scope_type be dealloc'd from get_attribute? should not scope_value be as well?
diff --git a/gdata/gdata-batch-feed.c b/gdata/gdata-batch-feed.c
index d29c41d..4566002 100644
--- a/gdata/gdata-batch-feed.c
+++ b/gdata/gdata-batch-feed.c
@@ -90,11 +90,11 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gchar *status_code_string;
GXmlDomXNode *child_node;
- status_code_string = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (entry_node), "code");
+ status_code_string = gdata_parser_get_attribute (GXML_DOM_ELEMENT (entry_node), "code");
status_code = strtoul ((char*) status_code_string, NULL, 10);
g_free (status_code_string); // TODO:GXML: do we want to free this?
- status_reason = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (entry_node), "reason");
+ status_reason = gdata_parser_get_attribute (GXML_DOM_ELEMENT (entry_node), "reason");
/* Dump the content of the status node, since it's service-specific, and could be anything from plain text to XML */
diff --git a/gdata/gdata-entry.c b/gdata/gdata-entry.c
index 96957da..1235a3f 100644
--- a/gdata/gdata-entry.c
+++ b/gdata/gdata-entry.c
@@ -415,7 +415,7 @@ static gboolean
pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root_node, gpointer user_data, GError **error)
{
/* Extract the ETag */
- GDATA_ENTRY (parsable)->priv->etag = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (root_node), "etag");
+ GDATA_ENTRY (parsable)->priv->etag = gdata_parser_get_attribute (GXML_DOM_ELEMENT (root_node), "etag");
return TRUE;
}
@@ -444,7 +444,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
return success;
} else if (g_strcmp0 (gxml_dom_xnode_get_node_name (node), "content") == 0) {
/* atom:content */
- priv->content = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (node), "src");
+ priv->content = gdata_parser_get_attribute (GXML_DOM_ELEMENT (node), "src");
priv->content_is_uri = TRUE;
if (priv->content == NULL) {
diff --git a/gdata/gdata-feed.c b/gdata/gdata-feed.c
index e1b8e5f..035eed2 100644
--- a/gdata/gdata-feed.c
+++ b/gdata/gdata-feed.c
@@ -413,7 +413,7 @@ static gboolean
pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root_node, gpointer user_data, GError **error)
{
/* Extract the ETag */
- GDATA_FEED (parsable)->priv->etag = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (root_node), "etag");
+ GDATA_FEED (parsable)->priv->etag = gdata_parser_get_attribute (GXML_DOM_ELEMENT (root_node), "etag");
return TRUE;
}
diff --git a/gdata/gdata-parser.c b/gdata/gdata-parser.c
index 4cd8070..7bdab8e 100644
--- a/gdata/gdata-parser.c
+++ b/gdata/gdata-parser.c
@@ -287,7 +287,7 @@ gdata_parser_int64_from_iso8601 (const gchar *date, gint64 *_time)
gboolean
gdata_parser_boolean_from_property (GXmlDomXNode *element, const gchar *property_name, gboolean *output, gint default_output, GError **error)
{
- gchar *value = gxml_dom_element_get_attribute (GXML_DOM_ELEMENT (element), property_name);
+ gchar *value = gdata_parser_get_attribute (GXML_DOM_ELEMENT (element), property_name);
if (value == NULL) {
/* Missing property */
@@ -388,8 +388,10 @@ gdata_parser_string_from_element (GXmlDomXNode *element, const gchar *element_na
}
/* Success! */
- g_free (*output);
- *output = (gchar*) text;
+ if (g_strcmp0 (text, "") != 0) { // Added because historically, libgdata would get a NULL if an element had no content, but GXml returns "" then
+ g_free (*output);
+ *output = text;
+ }
*success = TRUE;
// TODO:GXML: is gdata failing to free text now? I think so
@@ -694,3 +696,27 @@ gdata_parser_utf8_trim_whitespace (const gchar *s)
return g_strndup (s, _s - s);
}
+
+/* DOM Level 1 API wants us to return "" when not set, but libxml2
+ used to return NULL, so libgdata expects NULL all over the place. */
+gchar *gdata_parser_get_attribute (GXmlDomElement *element, const gchar *attr_name)
+{
+ GXmlDomAttr *attr = gxml_dom_element_get_attribute_node (element, attr_name);
+
+ if (attr == NULL) {
+ return NULL;
+ } else {
+ // We duplicate it, because attribute values are const gchar*s, since their memory life cycle is supposed to be managed by GXml, and not by its users. However, libgdata assumes it needs to since libxml2
+ return g_strdup (gxml_dom_attr_get_value (attr));
+ }
+}
+
+gchar *gdata_parser_element_get_content (GXmlDomElement *elem) {
+ gchar *text = gxml_dom_element_get_content (elem);
+
+ if (g_strcmp0 (text, "") == 0) {
+ return NULL;
+ } else {
+ return text;
+ }
+}
diff --git a/gdata/gdata-parser.h b/gdata/gdata-parser.h
index 2cf8d3f..084a142 100644
--- a/gdata/gdata-parser.h
+++ b/gdata/gdata-parser.h
@@ -82,6 +82,9 @@ gboolean gdata_parser_object_from_element (GXmlDomXNode *element, const gchar *e
void gdata_parser_string_append_escaped (GString *xml_string, const gchar *pre, const gchar *element_content, const gchar *post);
gchar *gdata_parser_utf8_trim_whitespace (const gchar *s) G_GNUC_WARN_UNUSED_RESULT G_GNUC_MALLOC;
+gchar *gdata_parser_get_attribute (GXmlDomElement *element, const gchar *attr_name);
+gchar *gdata_parser_element_get_content (GXmlDomElement *elem);
+
G_END_DECLS
#endif /* !GDATA_PARSER_H */
diff --git a/gdata/georss/gdata-georss-where.c b/gdata/georss/gdata-georss-where.c
index d8708df..cd6d106 100644
--- a/gdata/georss/gdata-georss-where.c
+++ b/gdata/georss/gdata-georss-where.c
@@ -93,7 +93,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
for (child = gxml_dom_xnode_get_first_child (node); child != NULL; child = gxml_dom_xnode_get_next_sibling (child)) {
if (g_strcmp0 (gxml_dom_xnode_get_node_name (child), "pos") == 0) {
- gchar *pos = gxml_dom_element_get_content (GXML_DOM_ELEMENT (child));
+ gchar *pos = gdata_parser_element_get_content (GXML_DOM_ELEMENT (child));
gchar *endptr;
self->priv->latitude = g_ascii_strtod (pos, &endptr);
diff --git a/gdata/media/gdata-media-category.c b/gdata/media/gdata-media-category.c
index 8826d7e..9df2cce 100644
--- a/gdata/media/gdata-media-category.c
+++ b/gdata/media/gdata-media-category.c
@@ -196,13 +196,13 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
gchar *category, *scheme;
GXmlDomElement *root_elem = GXML_DOM_ELEMENT (root_node);
- category = gxml_dom_element_get_content (root_elem);
+ category = gdata_parser_element_get_content (root_elem);
if (category == NULL || *category == '\0') {
g_free (category);
return gdata_parser_error_required_content_missing (root_node, error);
}
- scheme = gxml_dom_element_get_attribute (root_elem, "scheme");
+ scheme = gdata_parser_get_attribute (root_elem, "scheme");
if (scheme != NULL && *scheme == '\0') {
g_free (scheme);
g_free (category);
@@ -214,7 +214,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
priv->category = category;
priv->scheme = scheme;
- priv->label = gxml_dom_element_get_attribute (root_elem, "label");
+ priv->label = gdata_parser_get_attribute (root_elem, "label");
return TRUE;
}
diff --git a/gdata/media/gdata-media-content.c b/gdata/media/gdata-media-content.c
index 719925b..040e027 100644
--- a/gdata/media/gdata-media-content.c
+++ b/gdata/media/gdata-media-content.c
@@ -302,7 +302,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
return FALSE;
/* Parse expression */
- expression = gxml_dom_element_get_attribute (root_elem, "expression");
+ expression = gdata_parser_get_attribute (root_elem, "expression");
if (expression == NULL || g_strcmp0 (expression, "full") == 0) {
expression_enum = GDATA_MEDIA_EXPRESSION_FULL;
} else if (g_strcmp0 (expression, "sample") == 0) {
@@ -317,7 +317,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
g_free (expression);
/* Parse medium */
- medium = gxml_dom_element_get_attribute (root_elem, "medium");
+ medium = gdata_parser_get_attribute (root_elem, "medium");
if (medium == NULL) {
medium_enum = GDATA_MEDIA_UNKNOWN;
} else if (g_strcmp0 (medium, "image") == 0) {
@@ -338,26 +338,26 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
g_free (medium);
/* Parse duration */
- duration = gxml_dom_element_get_attribute (root_elem, "duration");
+ duration = gdata_parser_get_attribute (root_elem, "duration");
duration_int64 = (duration == NULL) ? 0 : strtol (duration, NULL, 10);
g_free (duration);
/* Parse filesize */
- filesize = gxml_dom_element_get_attribute (root_elem, "fileSize");
+ filesize = gdata_parser_get_attribute (root_elem, "fileSize");
filesize_ulong = (filesize == NULL) ? 0 : strtoul (filesize, NULL, 10);
g_free (filesize);
/* Parse height and width */
- height = gxml_dom_element_get_attribute (root_elem, "height");
+ height = gdata_parser_get_attribute (root_elem, "height");
height_uint = (height == NULL) ? 0 : strtoul (height, NULL, 10);
g_free (height);
- width = gxml_dom_element_get_attribute (root_elem, "width");
+ width = gdata_parser_get_attribute (root_elem, "width");
width_uint = (width == NULL) ? 0 : strtoul (width, NULL, 10);
g_free (width);
/* Other properties */
- uri = gxml_dom_element_get_attribute (root_elem, "url");
+ uri = gdata_parser_get_attribute (root_elem, "url");
if (uri != NULL && *uri == '\0') {
g_free (uri);
return gdata_parser_error_required_property_missing (root_node, "url", error);
@@ -365,7 +365,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
priv->uri = uri;
priv->filesize = filesize_ulong;
- priv->content_type = gxml_dom_element_get_attribute (root_elem, "type");
+ priv->content_type = gdata_parser_get_attribute (root_elem, "type");
priv->medium = medium_enum;
priv->is_default = is_default_bool;
priv->expression = expression_enum;
diff --git a/gdata/media/gdata-media-credit.c b/gdata/media/gdata-media-credit.c
index 1f08b08..f00e63e 100644
--- a/gdata/media/gdata-media-credit.c
+++ b/gdata/media/gdata-media-credit.c
@@ -172,13 +172,13 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
guint i;
GXmlDomElement *root_elem = GXML_DOM_ELEMENT (root_node);
- credit = gxml_dom_element_get_content (root_elem);
+ credit = gdata_parser_element_get_content (root_elem);
if (credit == NULL || *credit == '\0') {
g_free (credit);
return gdata_parser_error_required_content_missing (root_node, error);
}
- scheme = gxml_dom_element_get_attribute (root_elem, "scheme");
+ scheme = gdata_parser_get_attribute (root_elem, "scheme");
if (scheme != NULL && *scheme == '\0') {
g_free (scheme);
g_free (credit);
@@ -190,7 +190,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
priv->credit = credit;
priv->scheme = scheme;
- priv->role = gxml_dom_element_get_attribute (root_elem, "role");
+ priv->role = gdata_parser_get_attribute (root_elem, "role");
/* Convert the role to lower case */
if (priv->role != NULL) {
diff --git a/gdata/media/gdata-media-group.c b/gdata/media/gdata-media-group.c
index 4c0f0fd..11489df 100644
--- a/gdata/media/gdata-media-group.c
+++ b/gdata/media/gdata-media-group.c
@@ -163,7 +163,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
} else if (g_strcmp0 (node_name, "keywords") == 0) {
/* media:keywords */
guint i;
- gchar *text = gxml_dom_element_get_content (elem);
+ gchar *text = gdata_parser_element_get_content (elem);
g_strfreev (self->priv->keywords);
if (text == NULL) {
@@ -197,21 +197,56 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
}
} else if (g_strcmp0 (node_name, "player") == 0) {
/* media:player */
- gchar *player_uri = gxml_dom_element_get_attribute (elem, "url");
+ gchar *player_uri = gdata_parser_get_attribute (elem, "url");
g_free (self->priv->player_uri);
self->priv->player_uri = player_uri;
} else if (g_strcmp0 (node_name, "rating") == 0) {
/* media:rating */
- gchar *countries;
-
- countries = gxml_dom_element_get_attribute (elem, "country");
-
- if (countries != NULL) {
- gchar **country_list, **country;
-
- /* It's either a comma-separated list of countries, or the value "all" */
- country_list = g_strsplit (countries, ",", -1);
- g_free (countries);
+ gchar *scheme;
+
+ /* The possible schemes are defined here:
+ * â http://video.search.yahoo.com/mrss
+ * â http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:rating
+ */
+ scheme = gdata_parser_get_attribute (elem, "scheme");
+
+ if (scheme == NULL || g_strcmp0 (scheme, "urn:simple") == 0) {
+ /* Options: adult, nonadult */
+ gdata_parser_string_from_element (node, "rating", P_REQUIRED | P_NON_EMPTY, &(self->priv->simple_rating),
+ &success, error);
+ } else if (g_strcmp0 (scheme, "urn:mpaa") == 0) {
+ /* Options: g, pg, pg-13, r, nc-17 */
+ gdata_parser_string_from_element (node, "rating", P_REQUIRED | P_NON_EMPTY, &(self->priv->mpaa_rating),
+ &success, error);
+ } else if (g_strcmp0 (scheme, "urn:v-chip") == 0) {
+ /* Options: tv-y, tv-y7, tv-y7-fv, tv-g, tv-pg, tv-14, tv-ma */
+ gdata_parser_string_from_element (node, "rating", P_REQUIRED | P_NON_EMPTY, &(self->priv->v_chip_rating),
+ &success, error);
+ } else if (g_strcmp0 (scheme, "http://gdata.youtube.com/schemas/2007#mediarating") == 0) {
+ /* No content, but we do get a list of countries. There's nothing like overloading the semantics of XML elements
+ * to brighten up one's day. */
+
+ gchar *countries;
+
+ countries = gdata_parser_get_attribute (elem, "country");
+
+ if (countries != NULL) {
+ gchar **country_list, **country;
+
+ /* It's either a comma-separated list of countries, or the value "all" */
+ country_list = g_strsplit (countries, ",", -1);
+ g_free (countries);
+
+ /* Add all the listed countries to the restricted countries table */
+ for (country = country_list; *country != NULL; country++) {
+ g_hash_table_insert (self->priv->restricted_countries, *country, GUINT_TO_POINTER (TRUE));
+ }
+
+ g_free (country_list);
+ } else {
+ /* Assume it's restricted in all countries */
+ g_hash_table_insert (self->priv->restricted_countries, g_strdup ("all"), GUINT_TO_POINTER (TRUE));
+ }
success = TRUE;
} else {
@@ -219,6 +254,10 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gdata_parser_error_unknown_property_value (node, "scheme", (gchar*) scheme, error);
success = FALSE;
}
+
+ g_free (scheme); // TODO:GXML: make sure that get_attribute and friend return de-allocatable memory
+
+ return success;
} else if (g_strcmp0 (node_name, "restriction") == 0) {
/* media:restriction */
gchar *type, *countries, *relationship;
@@ -226,7 +265,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gboolean relationship_bool;
/* Check the type property is "country" */
- type = gxml_dom_element_get_attribute (elem, "type");
+ type = gdata_parser_get_attribute (elem, "type");
if (g_strcmp0 (type, "country") != 0) {
gdata_parser_error_unknown_property_value (node, "type", type, error);
g_free (type);
@@ -234,7 +273,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
}
g_free (type);
- relationship = gxml_dom_element_get_attribute (elem, "relationship");
+ relationship = gdata_parser_get_attribute (elem, "relationship");
if (g_strcmp0 (relationship, "allow") == 0) {
relationship_bool = FALSE; /* it's *not* a restricted country */
} else if (g_strcmp0 (relationship, "deny") == 0) {
@@ -246,7 +285,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
}
g_free (relationship);
- countries = gxml_dom_element_get_content (elem);
+ countries = gdata_parser_element_get_content (elem);
country_list = g_strsplit (countries, " ", -1);
g_free (countries);
diff --git a/gdata/media/gdata-media-thumbnail.c b/gdata/media/gdata-media-thumbnail.c
index 0956432..363823b 100644
--- a/gdata/media/gdata-media-thumbnail.c
+++ b/gdata/media/gdata-media-thumbnail.c
@@ -251,16 +251,16 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
GXmlDomElement *root_elem = GXML_DOM_ELEMENT (root_node);
/* Get the width and height */
- width = gxml_dom_element_get_attribute (root_elem, "width");
+ width = gdata_parser_get_attribute (root_elem, "width");
width_uint = (width == NULL) ? 0 : strtoul (width, NULL, 10);
g_free (width);
- height = gxml_dom_element_get_attribute (root_elem, "height");
+ height = gdata_parser_get_attribute (root_elem, "height");
height_uint = (height == NULL) ? 0 : strtoul (height, NULL, 10);
g_free (height);
/* Get and parse the time */
- _time = gxml_dom_element_get_attribute (root_elem, "time");
+ _time = gdata_parser_get_attribute (root_elem, "time");
if (_time == NULL) {
time_int64 = -1;
} else {
@@ -274,7 +274,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
}
/* Get the URI */
- uri = gxml_dom_element_get_attribute (root_elem, "url");
+ uri = gdata_parser_get_attribute (root_elem, "url");
if (uri == NULL || *uri == '\0') {
g_free (uri);
return gdata_parser_error_required_property_missing (root_node, "url", error);
diff --git a/gdata/services/calendar/gdata-calendar-event.c b/gdata/services/calendar/gdata-calendar-event.c
index 4d1a80c..90f1584 100644
--- a/gdata/services/calendar/gdata-calendar-event.c
+++ b/gdata/services/calendar/gdata-calendar-event.c
@@ -548,7 +548,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
self->priv->transparency = value;
} else if (g_strcmp0 (node_name, "recurrence") == 0) {
/* gd:recurrence */
- self->priv->recurrence = gxml_dom_element_get_content (elem);
+ self->priv->recurrence = gdata_parser_element_get_content (elem);
} else if (g_strcmp0 (node_name, "originalEvent") == 0) {
/* gd:originalEvent */
self->priv->original_event_id = gxml_dom_element_get_attribute (elem, "id");
diff --git a/gdata/services/contacts/gdata-contacts-contact.c b/gdata/services/contacts/gdata-contacts-contact.c
index 6e02f93..337357f 100644
--- a/gdata/services/contacts/gdata-contacts-contact.c
+++ b/gdata/services/contacts/gdata-contacts-contact.c
@@ -778,7 +778,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
* the changes. This fixes bugs caused by referring to contacts by the base projection, rather than the full projection;
* such as http://code.google.com/p/gdata-issues/issues/detail?id=2129. */
gchar *base;
- gchar *id = gxml_dom_element_get_content (elem);
+ gchar *id = gdata_parser_element_get_content (elem);
if (id != NULL) {
base = strstr (id, "/base/");
@@ -817,7 +817,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
value = gxml_dom_element_get_attribute (elem, "value");
if (value == NULL) {
GXmlDomXNode *child_node;
-
+
/* Use the element's content instead (arbitrary XML) */
for (child_node = gxml_dom_xnode_get_first_child (node); child_node != NULL; child_node = gxml_dom_xnode_get_next_sibling (child_node)) {
value_new = g_strconcat (value, gxml_dom_xnode_to_string (child_node, 0, 0), NULL);
@@ -884,7 +884,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
/* gContact:hobby */
gchar *hobby;
- hobby = gxml_dom_element_get_content (elem);
+ hobby = gdata_parser_element_get_content (elem);
if (hobby == NULL || *hobby == '\0') {
g_free (hobby);
return gdata_parser_error_required_content_missing (node, error);
diff --git a/gdata/services/contacts/gdata-contacts-group.c b/gdata/services/contacts/gdata-contacts-group.c
index aeb4d72..e5caba7 100644
--- a/gdata/services/contacts/gdata-contacts-group.c
+++ b/gdata/services/contacts/gdata-contacts-group.c
@@ -329,7 +329,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
* changes. This fixes bugs caused by referring to contacts by the base projection, rather than the full projection; such as
* http://code.google.com/p/gdata-issues/issues/detail?id=2129. */
gchar *base;
- gchar *id = gxml_dom_element_get_content (elem);
+ gchar *id = gdata_parser_element_get_content (elem);
if (id != NULL) {
base = strstr (id, "/base/");
diff --git a/gdata/services/documents/gdata-documents-entry.c b/gdata/services/documents/gdata-documents-entry.c
index b5dd602..642e32b 100644
--- a/gdata/services/documents/gdata-documents-entry.c
+++ b/gdata/services/documents/gdata-documents-entry.c
@@ -433,7 +433,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
if (self->priv->document_id != NULL)
return gdata_parser_error_duplicate_element (node, error);
- resource_id = gxml_dom_element_get_content (elem);
+ resource_id = gdata_parser_element_get_content (elem);
if (resource_id == NULL || *resource_id == '\0') {
g_free (resource_id);
return gdata_parser_error_required_content_missing (node, error);
diff --git a/gdata/services/picasaweb/gdata-picasaweb-album.c b/gdata/services/picasaweb/gdata-picasaweb-album.c
index 8970f51..55be1a6 100644
--- a/gdata/services/picasaweb/gdata-picasaweb-album.c
+++ b/gdata/services/picasaweb/gdata-picasaweb-album.c
@@ -681,7 +681,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
return success;
} else if (g_strcmp0 (node_name, "access") == 0) {
/* gphoto:access */
- gchar *access_level = gxml_dom_element_get_content (elem);
+ gchar *access_level = gdata_parser_element_get_content (elem);
if (g_strcmp0 (access_level, "public") == 0) {
gdata_picasaweb_album_set_visibility (self, GDATA_PICASAWEB_PUBLIC);
} else if (g_strcmp0 (access_level, "private") == 0) {
@@ -697,14 +697,14 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gchar *timestamp_str;
guint64 milliseconds;
- timestamp_str = gxml_dom_element_get_content (elem);
+ timestamp_str = gdata_parser_element_get_content (elem);
milliseconds = g_ascii_strtoull (timestamp_str, NULL, 10);
g_free (timestamp_str);
gdata_picasaweb_album_set_timestamp (self, (gint64) milliseconds);
} else if (g_strcmp0 (node_name, "numphotos") == 0) {
/* gphoto:numphotos */
- gchar *num_photos = gxml_dom_element_get_content (elem);
+ gchar *num_photos = gdata_parser_element_get_content (elem);
if (num_photos == NULL || *num_photos == '\0') {
g_free (num_photos);
return gdata_parser_error_required_content_missing (node, error);
@@ -714,7 +714,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
g_free (num_photos);
} else if (g_strcmp0 (node_name, "numphotosremaining") == 0) {
/* gphoto:numphotosremaining */
- gchar *num_photos_remaining = gxml_dom_element_get_content (elem);
+ gchar *num_photos_remaining = gdata_parser_element_get_content (elem);
if (num_photos_remaining == NULL || *num_photos_remaining == '\0') {
g_free (num_photos_remaining);
return gdata_parser_error_required_content_missing (node, error);
@@ -724,7 +724,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
g_free (num_photos_remaining);
} else if (g_strcmp0 (node_name, "bytesUsed") == 0) {
/* gphoto:bytesUsed */
- gchar *bytes_used = gxml_dom_element_get_content (elem);
+ gchar *bytes_used = gdata_parser_element_get_content (elem);
if (bytes_used == NULL || *bytes_used == '\0') {
g_free (bytes_used);
return gdata_parser_error_required_content_missing (node, error);
@@ -734,7 +734,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
g_free (bytes_used);
} else if (g_strcmp0 (node_name, "commentingEnabled") == 0) {
/* gphoto:commentingEnabled */
- gchar *commenting_enabled = gxml_dom_element_get_content (elem);
+ gchar *commenting_enabled = gdata_parser_element_get_content (elem);
if (commenting_enabled == NULL || *commenting_enabled == '\0') {
g_free (commenting_enabled);
return gdata_parser_error_required_content_missing (node, error);
@@ -745,7 +745,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
g_free (commenting_enabled);
} else if (g_strcmp0 (node_name, "commentCount") == 0) {
/* gphoto:commentCount */
- gchar *comment_count = gxml_dom_element_get_content (elem);
+ gchar *comment_count = gdata_parser_element_get_content (elem);
if (comment_count == NULL || *comment_count == '\0') {
g_free (comment_count);
return gdata_parser_error_required_content_missing (node, error);
diff --git a/gdata/services/picasaweb/gdata-picasaweb-file.c b/gdata/services/picasaweb/gdata-picasaweb-file.c
index 32bb487..df96b22 100644
--- a/gdata/services/picasaweb/gdata-picasaweb-file.c
+++ b/gdata/services/picasaweb/gdata-picasaweb-file.c
@@ -922,17 +922,17 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
return success;
} else if (g_strcmp0 (node_name, "width") == 0) {
/* gphoto:width */
- gchar *width = gxml_dom_element_get_content (elem);
+ gchar *width = gdata_parser_element_get_content (elem);
self->priv->width = strtoul ((gchar*) width, NULL, 10);
g_free (width);
} else if (g_strcmp0 (node_name, "height") == 0) {
/* gphoto:height */
- gchar *height = gxml_dom_element_get_content (elem);
+ gchar *height = gdata_parser_element_get_content (elem);
self->priv->height = strtoul ((gchar*) height, NULL, 10);
g_free (height);
} else if (g_strcmp0 (node_name, "size") == 0) {
/* gphoto:size */
- gchar *size = gxml_dom_element_get_content (elem);
+ gchar *size = gdata_parser_element_get_content (elem);
self->priv->size = strtoul ((gchar*) size, NULL, 10);
g_free (size);
} else if (g_strcmp0 (node_name, "timestamp") == 0) {
@@ -940,21 +940,21 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gchar *timestamp_str;
guint64 milliseconds;
- timestamp_str = gxml_dom_element_get_content (elem);
+ timestamp_str = gdata_parser_element_get_content (elem);
milliseconds = g_ascii_strtoull ((gchar*) timestamp_str, NULL, 10);
g_free (timestamp_str);
gdata_picasaweb_file_set_timestamp (self, (gint64) milliseconds);
} else if (g_strcmp0 (node_name, "commentingEnabled") == 0) {
/* gphoto:commentingEnabled */
- gchar *is_commenting_enabled = gxml_dom_element_get_content (elem);
+ gchar *is_commenting_enabled = gdata_parser_element_get_content (elem);
if (is_commenting_enabled == NULL)
return gdata_parser_error_required_content_missing (node, error);
self->priv->is_commenting_enabled = (g_strcmp0 (is_commenting_enabled, "true") == 0 ? TRUE : FALSE);
g_free (is_commenting_enabled);
} else if (g_strcmp0 (node_name, "commentCount") == 0) {
/* gphoto:commentCount */
- gchar *comment_count = gxml_dom_element_get_content (elem);
+ gchar *comment_count = gdata_parser_element_get_content (elem);
self->priv->comment_count = strtoul ((gchar*) comment_count, NULL, 10);
g_free (comment_count);
} else if (g_strcmp0 (node_name, "access") == 0) {
@@ -964,7 +964,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
* See https://bugzilla.gnome.org/show_bug.cgi?id=589858 */
} else if (g_strcmp0 (node_name, "rotation") == 0) {
/* gphoto:rotation */
- gchar *rotation = gxml_dom_element_get_content (elem);
+ gchar *rotation = gdata_parser_element_get_content (elem);
gdata_picasaweb_file_set_rotation (self, strtoul ((gchar*) rotation, NULL, 10));
g_free (rotation);
} else {
diff --git a/gdata/services/picasaweb/gdata-picasaweb-user.c b/gdata/services/picasaweb/gdata-picasaweb-user.c
index b06e3be..98d886e 100644
--- a/gdata/services/picasaweb/gdata-picasaweb-user.c
+++ b/gdata/services/picasaweb/gdata-picasaweb-user.c
@@ -240,17 +240,17 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
return success;
} else if (g_strcmp0 (node_name, "quotacurrent") == 0) {
/* gphoto:quota-current */
- gchar *quota_current = gxml_dom_element_get_content (elem);
+ gchar *quota_current = gdata_parser_element_get_content (elem);
self->priv->quota_current = g_ascii_strtoll ((const gchar*) quota_current, NULL, 10);
g_free (quota_current);
} else if (g_strcmp0 (node_name, "quotalimit") == 0) {
/* gphoto:quota-limit */
- gchar *quota_limit = gxml_dom_element_get_content (elem);
+ gchar *quota_limit = gdata_parser_element_get_content (elem);
self->priv->quota_limit = g_ascii_strtoll ((const gchar*) quota_limit, NULL, 10);
g_free (quota_limit);
} else if (g_strcmp0 (node_name, "maxPhotosPerAlbum") == 0) {
/* gphoto:max-photos-per-album */
- gchar *max_photos_per_album = gxml_dom_element_get_content (elem);
+ gchar *max_photos_per_album = gdata_parser_element_get_content (elem);
self->priv->max_photos_per_album = strtol ((char*) max_photos_per_album, NULL, 10);
g_free (max_photos_per_album);
} else if (g_strcmp0 (node_name, "x-allowDownloads") == 0) { /* RHSTODO: see if this comes with the user */
diff --git a/gdata/services/youtube/gdata-youtube-control.c b/gdata/services/youtube/gdata-youtube-control.c
index 1997656..d6109eb 100644
--- a/gdata/services/youtube/gdata-youtube-control.c
+++ b/gdata/services/youtube/gdata-youtube-control.c
@@ -102,7 +102,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
if (gdata_parser_is_namespace (node, "http://www.w3.org/2007/app") == TRUE &&
g_strcmp0 (node_name, "draft") == 0) {
/* app:draft */
- gchar *draft = gxml_dom_element_get_content (GXML_DOM_ELEMENT (gxml_dom_xnode_get_parent_node (node)));
+ gchar *draft = gdata_parser_element_get_content (GXML_DOM_ELEMENT (gxml_dom_xnode_get_parent_node (node)));
if (g_strcmp0 (draft, "no") == 0)
self->priv->is_draft = FALSE;
else
diff --git a/gdata/services/youtube/gdata-youtube-service.c b/gdata/services/youtube/gdata-youtube-service.c
index 4bf5342..adfa390 100644
--- a/gdata/services/youtube/gdata-youtube-service.c
+++ b/gdata/services/youtube/gdata-youtube-service.c
@@ -342,7 +342,7 @@ parse_error_response (GDataService *self, GDataOperationType operation_type, gui
{
GXmlDomDocument *doc;
GXmlDomXNode *node;
- const gchar *node_name;
+ const gchar *node_name;
if (response_body == NULL)
goto parent;
@@ -396,11 +396,11 @@ parse_error_response (GDataService *self, GDataOperationType operation_type, gui
GXmlDomElement *child_elem = GXML_DOM_ELEMENT (child_node);
if (g_strcmp0 (child_node_name, "domain") == 0)
- domain = gxml_dom_element_get_content (child_elem);
+ domain = gdata_parser_element_get_content (child_elem);
else if (g_strcmp0 (child_node_name, "code") == 0)
- code = gxml_dom_element_get_content (child_elem);
+ code = gdata_parser_element_get_content (child_elem);
else if (g_strcmp0 (child_node_name, "location") == 0)
- location = gxml_dom_element_get_content (child_elem);
+ location = gdata_parser_element_get_content (child_elem);
else if (g_strcmp0 (child_node_name, "internalReason") != 0) {
/* Unknown element (ignore internalReason) */
g_message ("Unhandled <error/%s> element.", child_node_name);
diff --git a/gdata/services/youtube/gdata-youtube-state.c b/gdata/services/youtube/gdata-youtube-state.c
index 9c66e7b..fde5d1c 100644
--- a/gdata/services/youtube/gdata-youtube-state.c
+++ b/gdata/services/youtube/gdata-youtube-state.c
@@ -202,7 +202,7 @@ pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root
priv->name = (gchar*) name;
priv->reason_code = (gchar*) gxml_dom_element_get_attribute (root_elem, "reasonCode");
priv->help_uri = (gchar*) gxml_dom_element_get_attribute (root_elem, "helpUrl");
- priv->message = gxml_dom_element_get_content (root_elem);
+ priv->message = gdata_parser_element_get_content (root_elem);
return TRUE;
}
diff --git a/gdata/services/youtube/gdata-youtube-video.c b/gdata/services/youtube/gdata-youtube-video.c
index e9db6b0..d8b791b 100644
--- a/gdata/services/youtube/gdata-youtube-video.c
+++ b/gdata/services/youtube/gdata-youtube-video.c
@@ -791,7 +791,7 @@ parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gp
gchar *recorded;
gint64 recorded_int64;
- recorded = gxml_dom_element_get_content (elem);
+ recorded = gdata_parser_element_get_content (elem);
if (gdata_parser_int64_from_date ((gchar*) recorded, &recorded_int64) == FALSE) {
/* Error */
gdata_parser_error_not_iso8601_format (node, (gchar*) recorded, error);
diff --git a/gdata/tests/common.c b/gdata/tests/common.c
index 90c119c..f92193f 100644
--- a/gdata/tests/common.c
+++ b/gdata/tests/common.c
@@ -475,7 +475,7 @@ compare_xml_nodes (GXmlDomXNode *node1, GXmlDomXNode *node2)
gxml_dom_element_get_content (GXML_DOM_ELEMENT (node2))) != 0) {
return FALSE;
}
-
+
/* Compare their attributes. This is done in document order,
* which isn't strictly correct, since XML specifically does
* not apply an ordering over attributes. However, it suffices
@@ -513,18 +513,18 @@ compare_xml_nodes (GXmlDomXNode *node1, GXmlDomXNode *node2)
if (attr1 == NULL || attr2 == NULL) {
return FALSE;
}
-
+
if (g_strcmp0 (gxml_dom_xnode_get_node_name (attr1),
gxml_dom_xnode_get_node_name (attr2)) != 0
|| compare_xml_namespaces (attr1, attr2) == FALSE) {
return FALSE;
}
-
+
if (compare_xml_node_lists (gxml_dom_xnode_get_child_nodes (attr1),
gxml_dom_xnode_get_child_nodes (attr2)) == FALSE)
return FALSE;
}
-
+
// no straglers like we once had, since we now check list size
/* /\* Compare their namespace definitions regardless of order. Do this by inserting all the definitions from node1 into a hash table, then running */
@@ -534,7 +534,7 @@ compare_xml_nodes (GXmlDomXNode *node1, GXmlDomXNode *node2)
/* The above doesn't reply for now, because, because we only
have one namespace per node right now, while the code here
used to iterate over a list of namespaces. Here is what we
- used to do:
+ used to do:
made sure all the prefixes used by node1 were unique
remembered them all
went through all the prefixes for node2
@@ -572,7 +572,7 @@ gdata_test_compare_xml (GDataParsable *parsable, const gchar *expected_xml, gboo
/* Parse both the XML strings */
parsable_doc = gxml_dom_document_new_from_string (parsable_xml, &error);
- expected_doc = gxml_dom_document_new_from_string (expected_xml, &error); // TODO:GXML; grep for 'gxml.*_new_' and make sure we g_object_unref () everything!
+ expected_doc = gxml_dom_document_new_from_string (expected_xml, &error); // TODO:GXML; grep for 'gxml.*_new_' and make sure we g_object_unref () everything!
g_assert (parsable_doc != NULL && expected_doc != NULL);
diff --git a/gdata/tests/picasaweb.c b/gdata/tests/picasaweb.c
index f1ef39b..2fe3eab 100644
--- a/gdata/tests/picasaweb.c
+++ b/gdata/tests/picasaweb.c
@@ -837,13 +837,14 @@ static void
set_up_query_all_albums (QueryAllAlbumsData *data, gconstpointer service)
{
GDataPicasaWebAlbum *album;
+ GError *error = NULL;
/* First album */
album = gdata_picasaweb_album_new (NULL);
gdata_entry_set_title (GDATA_ENTRY (album), "Test album 1 for QueryAllAlbums");
- data->album1 = gdata_picasaweb_service_insert_album (GDATA_PICASAWEB_SERVICE (service), album, NULL, NULL);
- g_assert (data->album1 != NULL);
+ data->album1 = gdata_picasaweb_service_insert_album (GDATA_PICASAWEB_SERVICE (service), album, NULL, &error);
+ g_assert (data->album1 != NULL && error == NULL);
g_object_unref (album);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]