[ostree] core: Convert metadata parsing API to GFile
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] core: Convert metadata parsing API to GFile
- Date: Fri, 18 Nov 2011 00:57:43 +0000 (UTC)
commit 2c2b9c0e0098252965bbc3ddcf378bfaa362d16e
Author: Colin Walters <walters verbum org>
Date: Thu Nov 17 18:36:57 2011 -0500
core: Convert metadata parsing API to GFile
src/libostree/ostree-core.c | 10 ++++------
src/libostree/ostree-core.h | 2 +-
src/libostree/ostree-repo.c | 5 ++++-
3 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c
index 98d2f8a..aa03c3c 100644
--- a/src/libostree/ostree-core.c
+++ b/src/libostree/ostree-core.c
@@ -395,19 +395,17 @@ ostree_set_xattrs (GFile *f,
}
gboolean
-ostree_parse_metadata_file (const char *path,
+ostree_parse_metadata_file (GFile *file,
OstreeSerializedVariantType *out_type,
GVariant **out_variant,
GError **error)
{
- GFile *pathf = NULL;
gboolean ret = FALSE;
GVariant *ret_variant = NULL;
GVariant *container = NULL;
guint32 ret_type;
- pathf = ot_util_new_file_for_path (path);
- if (!ot_util_variant_map (pathf, G_VARIANT_TYPE (OSTREE_SERIALIZED_VARIANT_FORMAT),
+ if (!ot_util_variant_map (file, G_VARIANT_TYPE (OSTREE_SERIALIZED_VARIANT_FORMAT),
&container, error))
goto out;
@@ -417,7 +415,8 @@ ostree_parse_metadata_file (const char *path,
if (ret_type <= 0 || ret_type > OSTREE_SERIALIZED_VARIANT_LAST)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Corrupted metadata object '%s'; invalid type %d", path, ret_type);
+ "Corrupted metadata object '%s'; invalid type %d",
+ ot_gfile_get_path_cached (file), ret_type);
goto out;
}
@@ -430,7 +429,6 @@ ostree_parse_metadata_file (const char *path,
g_variant_unref (ret_variant);
if (container != NULL)
g_variant_unref (container);
- g_clear_object (&pathf);
return ret;
}
diff --git a/src/libostree/ostree-core.h b/src/libostree/ostree-core.h
index 32d4c00..ba5320e 100644
--- a/src/libostree/ostree-core.h
+++ b/src/libostree/ostree-core.h
@@ -102,7 +102,7 @@ GVariant *ostree_get_xattrs_for_file (GFile *f,
gboolean ostree_set_xattrs (GFile *f, GVariant *xattrs,
GCancellable *cancellable, GError **error);
-gboolean ostree_parse_metadata_file (const char *path,
+gboolean ostree_parse_metadata_file (GFile *file,
OstreeSerializedVariantType *out_type,
GVariant **out_variant,
GError **error);
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index 82f9eb8..5925833 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -1675,11 +1675,13 @@ ostree_repo_load_variant (OstreeRepo *self,
OstreeSerializedVariantType ret_type;
GVariant *ret_variant = NULL;
char *path = NULL;
+ GFile *f = NULL;
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
path = ostree_repo_get_object_path (self, sha256, OSTREE_OBJECT_TYPE_META);
- if (!ostree_parse_metadata_file (path, &ret_type, &ret_variant, error))
+ f = ot_util_new_file_for_path (path);
+ if (!ostree_parse_metadata_file (f, &ret_type, &ret_variant, error))
goto out;
ret = TRUE;
@@ -1689,6 +1691,7 @@ ostree_repo_load_variant (OstreeRepo *self,
out:
if (ret_variant)
g_variant_unref (ret_variant);
+ g_clear_object (&f);
g_free (path);
return ret;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]