diff options
Diffstat (limited to 'libappstream-glib/as-format.c')
-rw-r--r-- | libappstream-glib/as-format.c | 6 |
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); } /** |