diff --git a/lib/test-lib.c b/lib/test-lib.c index 45e2f3466..aabe2afde 100644 --- a/lib/test-lib.c +++ b/lib/test-lib.c @@ -166,7 +166,7 @@ main (int argc, char *argv[]) xdg_app_installed_ref_get_deploy_dir (app), xdg_app_installed_ref_get_is_current (app), xdg_app_installed_ref_get_installed_size (app)); - g_print ("metadata:\n%s\n", xdg_app_installed_ref_load_metadata (app, NULL, NULL)); + g_print ("metadata:\n%s\n", (char *)g_bytes_get_data (xdg_app_installed_ref_load_metadata (app, NULL, NULL), NULL)); } } diff --git a/lib/xdg-app-installed-ref.c b/lib/xdg-app-installed-ref.c index 98931945e..4c068101f 100644 --- a/lib/xdg-app-installed-ref.c +++ b/lib/xdg-app-installed-ref.c @@ -229,7 +229,7 @@ xdg_app_installed_ref_get_installed_size (XdgAppInstalledRef *self) return priv->installed_size; } -char * +GBytes * xdg_app_installed_ref_load_metadata (XdgAppInstalledRef *self, GCancellable *cancellable, GError **error) @@ -237,6 +237,7 @@ xdg_app_installed_ref_load_metadata (XdgAppInstalledRef *self, XdgAppInstalledRefPrivate *priv = xdg_app_installed_ref_get_instance_private (self); g_autofree char *path = NULL; char *metadata; + gsize length; if (priv->deploy_dir == NULL) { @@ -246,10 +247,10 @@ xdg_app_installed_ref_load_metadata (XdgAppInstalledRef *self, } path = g_build_filename (priv->deploy_dir, "metadata", NULL); - if (!g_file_get_contents (path, &metadata, NULL, error)) + if (!g_file_get_contents (path, &metadata, &length, error)) return NULL; - return metadata; + return g_bytes_new_take (metadata, length); } XdgAppInstalledRef * diff --git a/lib/xdg-app-installed-ref.h b/lib/xdg-app-installed-ref.h index ee591659a..28acd474e 100644 --- a/lib/xdg-app-installed-ref.h +++ b/lib/xdg-app-installed-ref.h @@ -53,7 +53,7 @@ XDG_APP_EXTERN guint64 xdg_app_installed_ref_get_installed_size (XdgAppInsta XDG_APP_EXTERN const char *xdg_app_installed_ref_get_deploy_dir (XdgAppInstalledRef *self); XDG_APP_EXTERN const char *xdg_app_installed_ref_get_latest_commit (XdgAppInstalledRef *self); XDG_APP_EXTERN gboolean xdg_app_installed_ref_get_is_current (XdgAppInstalledRef *self); -XDG_APP_EXTERN char *xdg_app_installed_ref_load_metadata (XdgAppInstalledRef *self, +XDG_APP_EXTERN GBytes *xdg_app_installed_ref_load_metadata (XdgAppInstalledRef *self, GCancellable *cancellable, GError **error);