summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2016-02-16 16:11:01 +0100
committerAlexander Larsson <alexl@redhat.com>2016-02-16 16:11:01 +0100
commitac851cae9eadfbd91f7c00de56de2cbb7a93a175 (patch)
treeea948e0931ddb1ac729427d2eef25d9158ee7c05 /lib
parentfaecde5da5ddabb61da105bc58a3f09c00660cc2 (diff)
downloadxdg-app-ac851cae9eadfbd91f7c00de56de2cbb7a93a175.tar.gz
lib: Return GBytes from xdg_app_installed_ref_load_metadata()
This is an ABI break, but nothing uses this yet.
Diffstat (limited to 'lib')
-rw-r--r--lib/test-lib.c2
-rw-r--r--lib/xdg-app-installed-ref.c7
-rw-r--r--lib/xdg-app-installed-ref.h2
3 files changed, 6 insertions, 5 deletions
diff --git a/lib/test-lib.c b/lib/test-lib.c
index 45e2f34..aabe2af 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 9893194..4c06810 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 ee59165..28acd47 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);