summaryrefslogtreecommitdiff
path: root/libappstream-glib/as-format.c
diff options
context:
space:
mode:
Diffstat (limited to 'libappstream-glib/as-format.c')
-rw-r--r--libappstream-glib/as-format.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libappstream-glib/as-format.c b/libappstream-glib/as-format.c
index 96919e6..2e4835d 100644
--- a/libappstream-glib/as-format.c
+++ b/libappstream-glib/as-format.c
@@ -202,11 +202,15 @@ as_format_guess_kind (const gchar *filename)
void
as_format_set_filename (AsFormat *format, const gchar *filename)
{
+ gchar *canon_filename;
+
AsFormatPrivate *priv = GET_PRIVATE (format);
g_return_if_fail (AS_IS_FORMAT (format));
if (priv->kind == AS_FORMAT_KIND_UNKNOWN)
priv->kind = as_format_guess_kind (filename);
- as_ref_string_assign_safe (&priv->filename, filename);
+ canon_filename = g_canonicalize_filename (filename, NULL);
+ as_ref_string_assign_safe (&priv->filename, canon_filename);
+ g_free (canon_filename);
}
/**