summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac1
-rw-r--r--libappstream-glib/as-app.c75
-rw-r--r--libappstream-glib/as-bundle.c6
-rw-r--r--libappstream-glib/as-checksum.c4
-rw-r--r--libappstream-glib/as-content-rating.c2
-rw-r--r--libappstream-glib/as-icon.c2
-rw-r--r--libappstream-glib/as-image.c4
-rw-r--r--libappstream-glib/as-node-private.h6
-rw-r--r--libappstream-glib/as-node.c61
-rw-r--r--libappstream-glib/as-provide.c2
-rw-r--r--libappstream-glib/as-ref-string.c4
-rw-r--r--libappstream-glib/as-ref-string.h2
-rw-r--r--libappstream-glib/as-release.c7
-rw-r--r--libappstream-glib/as-require.c4
-rw-r--r--libappstream-glib/as-review.c4
-rw-r--r--libappstream-glib/as-stemmer.c2
-rw-r--r--libappstream-glib/as-stemmer.h4
-rw-r--r--libappstream-glib/as-translation.c2
-rw-r--r--libappstream-glib/as-yaml.c2
19 files changed, 117 insertions, 77 deletions
diff --git a/configure.ac b/configure.ac
index c22d7d4..444569f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,7 +93,6 @@ WARN_CFLAGS_EXTRA="
-Wmissing-parameter-type
-Wmissing-prototypes
-Wnested-externs
- -Wno-discarded-qualifiers
-Wno-missing-field-initializers
-Wno-strict-aliasing
-Wno-suggest-attribute=format
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c
index aa7ad37..1e28948 100644
--- a/libappstream-glib/as-app.c
+++ b/libappstream-glib/as-app.c
@@ -4468,6 +4468,7 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
AsNodeContext *ctx, GError **error)
{
AsAppPrivate *priv = GET_PRIVATE (app);
+ AsRefString *str;
GNode *c;
const gchar *tmp;
g_autoptr(AsRefString) xml_lang = NULL;
@@ -4496,9 +4497,9 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
/* <pkgname> */
case AS_TAG_PKGNAME:
- tmp = as_node_get_data (n);
- if (tmp != NULL)
- g_ptr_array_add (priv->pkgnames, as_ref_string_ref (tmp));
+ str = as_node_get_data_as_refstr (n);
+ if (str != NULL)
+ g_ptr_array_add (priv->pkgnames, as_ref_string_ref (str));
break;
/* <bundle> */
@@ -4554,11 +4555,11 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
xml_lang = as_node_fix_locale (as_node_get_attribute (n, "xml:lang"));
if (xml_lang == NULL)
break;
- tmp = as_node_get_data (n);
- if (tmp != NULL) {
+ str = as_node_get_data_as_refstr (n);
+ if (str != NULL) {
g_hash_table_insert (priv->names,
as_ref_string_ref (xml_lang),
- as_ref_string_ref (tmp));
+ as_ref_string_ref (str));
}
break;
@@ -4567,11 +4568,11 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
xml_lang = as_node_fix_locale (as_node_get_attribute (n, "xml:lang"));
if (xml_lang == NULL)
break;
- tmp = as_node_get_data (n);
- if (tmp != NULL) {
+ str = as_node_get_data_as_refstr (n);
+ if (str != NULL) {
g_hash_table_insert (priv->comments,
as_ref_string_ref (xml_lang),
- as_ref_string_ref (tmp));
+ as_ref_string_ref (str));
}
break;
@@ -4580,11 +4581,11 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
xml_lang = as_node_fix_locale (as_node_get_attribute (n, "xml:lang"));
if (xml_lang == NULL)
break;
- tmp = as_node_get_data (n);
- if (tmp != NULL) {
+ str = as_node_get_data_as_refstr (n);
+ if (str != NULL) {
g_hash_table_insert (priv->developer_names,
as_ref_string_ref (xml_lang),
- as_ref_string_ref (tmp));
+ as_ref_string_ref (str));
}
break;
@@ -4653,7 +4654,7 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
for (c = n->children; c != NULL; c = c->next) {
if (as_node_get_tag (c) != AS_TAG_CATEGORY)
continue;
- tmp = as_node_get_data (c);
+ tmp = as_node_get_data_as_refstr (c);
if (tmp == NULL)
continue;
as_app_add_category (app, tmp);
@@ -4669,11 +4670,11 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
for (c = n->children; c != NULL; c = c->next) {
if (as_node_get_tag (c) != AS_TAG_ARCH)
continue;
- tmp = as_node_get_data (c);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (c);
+ if (str == NULL)
continue;
g_ptr_array_add (priv->architectures,
- as_ref_string_ref (tmp));
+ as_ref_string_ref (str));
}
if (n->children == NULL)
priv->problems |= AS_APP_PROBLEM_EXPECTED_CHILDREN;
@@ -4708,10 +4709,10 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
for (c = n->children; c != NULL; c = c->next) {
if (as_node_get_tag (c) != AS_TAG_KUDO)
continue;
- tmp = as_node_get_data (c);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (c);
+ if (str == NULL)
continue;
- g_ptr_array_add (priv->kudos, as_ref_string_ref (tmp));
+ g_ptr_array_add (priv->kudos, as_ref_string_ref (str));
}
if (n->children == NULL)
priv->problems |= AS_APP_PROBLEM_EXPECTED_CHILDREN;
@@ -4724,10 +4725,10 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
for (c = n->children; c != NULL; c = c->next) {
if (as_node_get_tag (c) != AS_TAG_PERMISSION)
continue;
- tmp = as_node_get_data (c);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (c);
+ if (str == NULL)
continue;
- g_ptr_array_add (priv->permissions, as_ref_string_ref (tmp));
+ g_ptr_array_add (priv->permissions, as_ref_string_ref (str));
}
if (n->children == NULL)
priv->problems |= AS_APP_PROBLEM_EXPECTED_CHILDREN;
@@ -4740,10 +4741,10 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
for (c = n->children; c != NULL; c = c->next) {
if (as_node_get_tag (c) != AS_TAG_VETO)
continue;
- tmp = as_node_get_data (c);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (c);
+ if (str == NULL)
continue;
- g_ptr_array_add (priv->vetos, as_ref_string_ref (tmp));
+ g_ptr_array_add (priv->vetos, as_ref_string_ref (str));
}
if (n->children == NULL)
priv->problems |= AS_APP_PROBLEM_EXPECTED_CHILDREN;
@@ -4756,10 +4757,10 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
for (c = n->children; c != NULL; c = c->next) {
if (as_node_get_tag (c) != AS_TAG_MIMETYPE)
continue;
- tmp = as_node_get_data (c);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (c);
+ if (str == NULL)
continue;
- g_ptr_array_add (priv->mimetypes, as_ref_string_ref (tmp));
+ g_ptr_array_add (priv->mimetypes, as_ref_string_ref (str));
}
if (n->children == NULL)
priv->problems |= AS_APP_PROBLEM_EXPECTED_CHILDREN;
@@ -4771,7 +4772,7 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
priv->problems |= AS_APP_PROBLEM_TRANSLATED_LICENSE;
break;
}
- as_ref_string_assign (&priv->project_license, as_node_get_data (n));
+ as_ref_string_assign (&priv->project_license, as_node_get_data_as_refstr (n));
break;
/* <project_license> */
@@ -4817,19 +4818,19 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
/* <compulsory_for_desktop> */
case AS_TAG_COMPULSORY_FOR_DESKTOP:
- tmp = as_node_get_data (n);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (n);
+ if (str == NULL)
break;
g_ptr_array_add (priv->compulsory_for_desktops,
- as_ref_string_ref (tmp));
+ as_ref_string_ref (str));
break;
/* <extends> */
case AS_TAG_EXTENDS:
- tmp = as_node_get_data (n);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (n);
+ if (str == NULL)
break;
- g_ptr_array_add (priv->extends, as_ref_string_ref (tmp));
+ g_ptr_array_add (priv->extends, as_ref_string_ref (str));
break;
/* <screenshots> */
@@ -4936,8 +4937,8 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
AsRefString *value;
if (as_node_get_tag (c) != AS_TAG_VALUE)
continue;
- key = as_node_get_attribute (c, "key");
- value = as_node_get_data (c);
+ key = as_node_get_attribute_as_refstr (c, "key");
+ value = as_node_get_data_as_refstr (c);
if (value == NULL) {
g_hash_table_insert (priv->metadata,
as_ref_string_ref (key),
diff --git a/libappstream-glib/as-bundle.c b/libappstream-glib/as-bundle.c
index 8d5f475..131af90 100644
--- a/libappstream-glib/as-bundle.c
+++ b/libappstream-glib/as-bundle.c
@@ -324,11 +324,11 @@ as_bundle_node_parse (AsBundle *bundle, GNode *node,
tmp = as_node_get_attribute (node, "type");
as_bundle_set_kind (bundle, as_bundle_kind_from_string (tmp));
- as_ref_string_assign (&priv->id, as_node_get_data (node));
+ as_ref_string_assign (&priv->id, as_node_get_data_as_refstr (node));
/* optional */
- as_ref_string_assign (&priv->runtime, as_node_get_attribute (node, "runtime"));
- as_ref_string_assign (&priv->sdk, as_node_get_attribute (node, "sdk"));
+ as_ref_string_assign (&priv->runtime, as_node_get_attribute_as_refstr (node, "runtime"));
+ as_ref_string_assign (&priv->sdk, as_node_get_attribute_as_refstr (node, "sdk"));
return TRUE;
}
diff --git a/libappstream-glib/as-checksum.c b/libappstream-glib/as-checksum.c
index f5ac787..755e555 100644
--- a/libappstream-glib/as-checksum.c
+++ b/libappstream-glib/as-checksum.c
@@ -341,8 +341,8 @@ as_checksum_node_parse (AsChecksum *checksum, GNode *node,
tmp = as_node_get_attribute (node, "target");
if (tmp != NULL)
priv->target = as_checksum_target_from_string (tmp);
- as_ref_string_assign (&priv->filename, as_node_get_attribute (node, "filename"));
- as_ref_string_assign (&priv->value, as_node_get_data (node));
+ as_ref_string_assign (&priv->filename, as_node_get_attribute_as_refstr (node, "filename"));
+ as_ref_string_assign (&priv->value, as_node_get_data_as_refstr (node));
return TRUE;
}
diff --git a/libappstream-glib/as-content-rating.c b/libappstream-glib/as-content-rating.c
index 0b0a76d..d8faf19 100644
--- a/libappstream-glib/as-content-rating.c
+++ b/libappstream-glib/as-content-rating.c
@@ -402,7 +402,7 @@ as_content_rating_node_parse (AsContentRating *content_rating, GNode *node,
if (as_node_get_tag (c) != AS_TAG_CONTENT_ATTRIBUTE)
continue;
key = g_slice_new0 (AsContentRatingKey);
- as_ref_string_assign (&key->id, as_node_get_attribute (c, "id"));
+ as_ref_string_assign (&key->id, as_node_get_attribute_as_refstr (c, "id"));
key->value = as_content_rating_value_from_string (as_node_get_data (c));
g_ptr_array_add (priv->keys, key);
}
diff --git a/libappstream-glib/as-icon.c b/libappstream-glib/as-icon.c
index 4ba2ae9..fd1fcf3 100644
--- a/libappstream-glib/as-icon.c
+++ b/libappstream-glib/as-icon.c
@@ -568,7 +568,7 @@ as_icon_node_parse_embedded (AsIcon *icon, GNode *n, GError **error)
"embedded icons needs <name>");
return FALSE;
}
- as_ref_string_assign (&priv->name, as_node_get_data (c));
+ as_ref_string_assign (&priv->name, as_node_get_data_as_refstr (c));
/* parse the Base64 data */
c = as_node_find (n, "filecontent");
diff --git a/libappstream-glib/as-image.c b/libappstream-glib/as-image.c
index 0ee992b..c101c61 100644
--- a/libappstream-glib/as-image.c
+++ b/libappstream-glib/as-image.c
@@ -454,8 +454,8 @@ as_image_node_parse (AsImage *image, GNode *node,
as_image_set_kind (image, AS_IMAGE_KIND_SOURCE);
else
as_image_set_kind (image, as_image_kind_from_string (tmp));
- as_ref_string_assign (&priv->url, as_node_get_data (node));
- as_ref_string_assign (&priv->locale, as_node_get_attribute (node, "xml:lang"));
+ as_ref_string_assign (&priv->url, as_node_get_data_as_refstr (node));
+ as_ref_string_assign (&priv->locale, as_node_get_attribute_as_refstr (node, "xml:lang"));
return TRUE;
}
diff --git a/libappstream-glib/as-node-private.h b/libappstream-glib/as-node-private.h
index 8e29640..e89bd0a 100644
--- a/libappstream-glib/as-node-private.h
+++ b/libappstream-glib/as-node-private.h
@@ -60,7 +60,11 @@ void as_node_context_set_media_base_url (AsNodeContext *ctx,
AsRefString *as_node_reflow_text (const gchar *text,
gssize text_len);
-gchar *as_node_fix_locale (const gchar *locale);
+AsRefString *as_node_fix_locale (const gchar *locale);
+
+AsRefString *as_node_get_data_as_refstr (const AsNode *node);
+AsRefString *as_node_get_attribute_as_refstr (const AsNode *node,
+ const gchar *key);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(AsNodeContext, as_node_context_free)
diff --git a/libappstream-glib/as-node.c b/libappstream-glib/as-node.c
index c481b5b..df9fb84 100644
--- a/libappstream-glib/as-node.c
+++ b/libappstream-glib/as-node.c
@@ -149,7 +149,7 @@ as_node_attr_find (AsNodeData *data, const gchar *key)
return NULL;
}
-static const gchar *
+static AsRefString *
as_node_attr_lookup (AsNodeData *data, const gchar *key)
{
AsNodeAttr *attr;
@@ -643,7 +643,7 @@ as_node_start_element_cb (GMarkupParseContext *context,
current = g_node_append_data (helper->current, data);
/* transfer the ownership of the comment to the new child */
- tmp = as_node_get_attribute (helper->current, "@comment-tmp");
+ tmp = as_node_get_attribute_as_refstr (helper->current, "@comment-tmp");
if (tmp != NULL) {
as_node_add_attribute (current, "@comment", tmp);
as_node_remove_attribute (helper->current, "@comment-tmp");
@@ -1079,17 +1079,17 @@ as_node_set_name (AsNode *node, const gchar *name)
}
/**
- * as_node_get_data:
+ * as_node_get_data_as_refstr: (skip)
* @node: a #AsNode
*
* Gets the node data, e.g. "paragraph text"
*
* Return value: string value
*
- * Since: 0.1.0
+ * Since: 0.6.11
**/
-const gchar *
-as_node_get_data (const AsNode *node)
+AsRefString *
+as_node_get_data_as_refstr (const AsNode *node)
{
AsNodeData *data;
g_return_val_if_fail (node != NULL, NULL);
@@ -1105,6 +1105,22 @@ as_node_get_data (const AsNode *node)
}
/**
+ * as_node_get_data:
+ * @node: a #AsNode
+ *
+ * Gets the node data, e.g. "paragraph text"
+ *
+ * Return value: string value
+ *
+ * Since: 0.1.0
+ **/
+const gchar *
+as_node_get_data (const AsNode *node)
+{
+ return as_node_get_data_as_refstr (node);
+}
+
+/**
* as_node_get_comment:
* @node: a #AsNode
*
@@ -1254,7 +1270,7 @@ as_node_get_attribute_as_uint (const AsNode *node, const gchar *key)
}
/**
- * as_node_get_attribute:
+ * as_node_get_attribute_as_refstr: (skip)
* @node: a #AsNode
* @key: the attribute key
*
@@ -1262,10 +1278,10 @@ as_node_get_attribute_as_uint (const AsNode *node, const gchar *key)
*
* Return value: string value
*
- * Since: 0.1.0
+ * Since: 0.6.11
**/
-const gchar *
-as_node_get_attribute (const AsNode *node, const gchar *key)
+AsRefString *
+as_node_get_attribute_as_refstr (const AsNode *node, const gchar *key)
{
AsNodeData *data;
@@ -1279,6 +1295,23 @@ as_node_get_attribute (const AsNode *node, const gchar *key)
}
/**
+ * as_node_get_attribute:
+ * @node: a #AsNode
+ * @key: the attribute key
+ *
+ * Gets a node attribute, e.g. "false"
+ *
+ * Return value: string value
+ *
+ * Since: 0.1.0
+ **/
+const gchar *
+as_node_get_attribute (const AsNode *node, const gchar *key)
+{
+ return as_node_get_attribute_as_refstr (node, key);
+}
+
+/**
* as_node_remove_attribute: (skip)
* @node: a #AsNode
* @key: the attribute key
@@ -1654,8 +1687,8 @@ GHashTable *
as_node_get_localized (const AsNode *node, const gchar *key)
{
AsNodeData *data;
- const gchar *xml_lang;
- const gchar *data_unlocalized;
+ AsRefString *data_unlocalized;
+ AsRefString *xml_lang;
const gchar *data_localized;
GHashTable *hash = NULL;
AsNode *tmp;
@@ -1665,7 +1698,7 @@ as_node_get_localized (const AsNode *node, const gchar *key)
tmp = as_node_get_child_node (node, key, NULL, NULL);
if (tmp == NULL)
return NULL;
- data_unlocalized = as_node_get_data (tmp);
+ data_unlocalized = as_node_get_data_as_refstr (tmp);
/* find a node called name */
hash = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -1933,7 +1966,7 @@ as_node_get_localized_unwrap_type_ul (const AsNode *node,
*
* Since: 0.5.2
**/
-gchar *
+AsRefString *
as_node_fix_locale (const gchar *locale)
{
AsRefString *tmp;
diff --git a/libappstream-glib/as-provide.c b/libappstream-glib/as-provide.c
index ea43a05..0f79998 100644
--- a/libappstream-glib/as-provide.c
+++ b/libappstream-glib/as-provide.c
@@ -326,7 +326,7 @@ as_provide_node_parse (AsProvide *provide, GNode *node,
} else {
priv->kind = as_provide_kind_from_string (as_node_get_name (node));
}
- as_ref_string_assign (&priv->value, as_node_get_data (node));
+ as_ref_string_assign (&priv->value, as_node_get_data_as_refstr (node));
return TRUE;
}
diff --git a/libappstream-glib/as-ref-string.c b/libappstream-glib/as-ref-string.c
index 702de91..df0a70a 100644
--- a/libappstream-glib/as-ref-string.c
+++ b/libappstream-glib/as-ref-string.c
@@ -157,9 +157,9 @@ as_ref_string_new_with_length (const gchar *str, gsize len)
if (g_hash_table_contains (as_ref_string_get_hash_safe (), str)) {
hdr = AS_REFPTR_TO_HEADER (str);
if (hdr->refcnt < 0)
- return str;
+ return (AsRefString *) str;
g_atomic_int_inc (&hdr->refcnt);
- return str;
+ return (AsRefString *) str;
}
g_clear_pointer (&locker, g_mutex_locker_free);
diff --git a/libappstream-glib/as-ref-string.h b/libappstream-glib/as-ref-string.h
index 5c242ac..8217247 100644
--- a/libappstream-glib/as-ref-string.h
+++ b/libappstream-glib/as-ref-string.h
@@ -48,7 +48,7 @@ typedef enum {
AS_REF_STRING_DEBUG_LAST
} AsRefStringDebugFlags;
-#define as_ref_string_new_static(o) (("\xff\xff\xff\xff" o) + 4)
+#define as_ref_string_new_static(o) (AsRefString *) (("\xff\xff\xff\xff" o) + 4)
AsRefString *as_ref_string_new (const gchar *str);
AsRefString *as_ref_string_new_with_length (const gchar *str,
diff --git a/libappstream-glib/as-release.c b/libappstream-glib/as-release.c
index cc396f1..833ec6a 100644
--- a/libappstream-glib/as-release.c
+++ b/libappstream-glib/as-release.c
@@ -743,13 +743,14 @@ as_release_node_parse (AsRelease *release, GNode *node,
if (priv->locations != NULL)
g_ptr_array_set_size (priv->locations, 0);
for (n = node->children; n != NULL; n = n->next) {
+ AsRefString *str;
if (as_node_get_tag (n) != AS_TAG_LOCATION)
continue;
- tmp = as_node_get_data (n);
- if (tmp == NULL)
+ str = as_node_get_data_as_refstr (n);
+ if (str == NULL)
continue;
as_release_ensure_locations (release);
- g_ptr_array_add (priv->locations, as_ref_string_ref (tmp));
+ g_ptr_array_add (priv->locations, as_ref_string_ref (str));
}
/* get optional checksums */
diff --git a/libappstream-glib/as-require.c b/libappstream-glib/as-require.c
index 1f66a5b..a67c2de 100644
--- a/libappstream-glib/as-require.c
+++ b/libappstream-glib/as-require.c
@@ -443,8 +443,8 @@ as_require_node_parse (AsRequire *require, GNode *node,
tmp = as_node_get_attribute (node, "compare");
if (tmp != NULL)
as_require_set_compare (require, as_require_compare_from_string (tmp));
- as_ref_string_assign (&priv->version, as_node_get_attribute (node, "version"));
- as_ref_string_assign (&priv->value, as_node_get_data (node));
+ as_ref_string_assign (&priv->version, as_node_get_attribute_as_refstr (node, "version"));
+ as_ref_string_assign (&priv->value, as_node_get_data_as_refstr (node));
return TRUE;
}
diff --git a/libappstream-glib/as-review.c b/libappstream-glib/as-review.c
index cbf0beb..97f1491 100644
--- a/libappstream-glib/as-review.c
+++ b/libappstream-glib/as-review.c
@@ -957,8 +957,8 @@ as_review_node_parse (AsReview *review, GNode *node,
AsRefString *value;
if (as_node_get_tag (c2) != AS_TAG_VALUE)
continue;
- key = as_node_get_attribute (c2, "key");
- value = as_node_get_data (c2);
+ key = as_node_get_attribute_as_refstr (c2, "key");
+ value = as_node_get_data_as_refstr (c2);
if (value == NULL) {
g_hash_table_insert (priv->metadata,
as_ref_string_ref (key),
diff --git a/libappstream-glib/as-stemmer.c b/libappstream-glib/as-stemmer.c
index af043c7..ef7ccd6 100644
--- a/libappstream-glib/as-stemmer.c
+++ b/libappstream-glib/as-stemmer.c
@@ -52,7 +52,7 @@ G_DEFINE_TYPE (AsStemmer, as_stemmer, G_TYPE_OBJECT)
*
* Returns: A new refcounted string
**/
-const gchar *
+AsRefString *
as_stemmer_process (AsStemmer *stemmer, const gchar *value)
{
#ifdef HAVE_LIBSTEMMER
diff --git a/libappstream-glib/as-stemmer.h b/libappstream-glib/as-stemmer.h
index 1b77e3b..8883d68 100644
--- a/libappstream-glib/as-stemmer.h
+++ b/libappstream-glib/as-stemmer.h
@@ -24,6 +24,8 @@
#include <glib-object.h>
+#include "as-ref-string.h"
+
G_BEGIN_DECLS
#define AS_TYPE_STEMMER (as_stemmer_get_type ())
@@ -31,7 +33,7 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (AsStemmer, as_stemmer, AS, STEMMER, GObject)
AsStemmer *as_stemmer_new (void);
-const gchar *as_stemmer_process (AsStemmer *stemmer,
+AsRefString *as_stemmer_process (AsStemmer *stemmer,
const gchar *value);
G_END_DECLS
diff --git a/libappstream-glib/as-translation.c b/libappstream-glib/as-translation.c
index b362442..60c07f2 100644
--- a/libappstream-glib/as-translation.c
+++ b/libappstream-glib/as-translation.c
@@ -233,7 +233,7 @@ as_translation_node_parse (AsTranslation *translation, GNode *node,
tmp = as_node_get_attribute (node, "type");
as_translation_set_kind (translation, as_translation_kind_from_string (tmp));
- as_ref_string_assign (&priv->id, as_node_get_data (node));
+ as_ref_string_assign (&priv->id, as_node_get_data_as_refstr (node));
return TRUE;
}
diff --git a/libappstream-glib/as-yaml.c b/libappstream-glib/as-yaml.c
index 5e4dccd..0a7d49e 100644
--- a/libappstream-glib/as-yaml.c
+++ b/libappstream-glib/as-yaml.c
@@ -195,7 +195,7 @@ as_yaml_node_get_kind (AsNode *node)
}
static AsYamlNode *
-as_yaml_node_new (AsYamlNodeKind kind, const gchar *id)
+as_yaml_node_new (AsYamlNodeKind kind, AsRefString *id)
{
AsYamlNode *ym;
ym = g_slice_new0 (AsYamlNode);