libotutil: Allow no variant in ot_util_variant_builder_from_variant()
For programming convenience in cases where we may or may not have a GVariant to initialize the builder with.
This commit is contained in:
parent
b05d670031
commit
fdda36eb77
|
|
@ -369,14 +369,8 @@ add_size_index_to_metadata (OstreeRepo *self,
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
gs_unref_variant_builder GVariantBuilder *builder = NULL;
|
gs_unref_variant_builder GVariantBuilder *builder = NULL;
|
||||||
|
|
||||||
if (original_metadata)
|
/* original_metadata may be NULL */
|
||||||
{
|
builder = ot_util_variant_builder_from_variant (original_metadata, G_VARIANT_TYPE ("a{sv}"));
|
||||||
builder = ot_util_variant_builder_from_variant (original_metadata, G_VARIANT_TYPE ("a{sv}"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
builder = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (self->object_sizes &&
|
if (self->object_sizes &&
|
||||||
g_hash_table_size (self->object_sizes) > 0)
|
g_hash_table_size (self->object_sizes) > 0)
|
||||||
|
|
@ -2189,11 +2183,9 @@ get_modified_xattrs (OstreeRepo *self,
|
||||||
{
|
{
|
||||||
GVariantBuilder *builder;
|
GVariantBuilder *builder;
|
||||||
|
|
||||||
if (ret_xattrs)
|
/* ret_xattrs may be NULL */
|
||||||
builder = ot_util_variant_builder_from_variant (ret_xattrs,
|
builder = ot_util_variant_builder_from_variant (ret_xattrs,
|
||||||
G_VARIANT_TYPE ("a(ayay)"));
|
G_VARIANT_TYPE ("a(ayay)"));
|
||||||
else
|
|
||||||
builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ayay)"));
|
|
||||||
|
|
||||||
g_variant_builder_add_value (builder,
|
g_variant_builder_add_value (builder,
|
||||||
g_variant_new ("(@ay@ay)",
|
g_variant_new ("(@ay@ay)",
|
||||||
|
|
|
||||||
|
|
@ -260,16 +260,20 @@ ot_util_variant_builder_from_variant (GVariant *variant,
|
||||||
const GVariantType *type)
|
const GVariantType *type)
|
||||||
{
|
{
|
||||||
GVariantBuilder *builder = NULL;
|
GVariantBuilder *builder = NULL;
|
||||||
gint i, n;
|
|
||||||
|
|
||||||
builder = g_variant_builder_new (type);
|
builder = g_variant_builder_new (type);
|
||||||
|
|
||||||
n = g_variant_n_children (variant);
|
if (variant != NULL)
|
||||||
for (i = 0; i < n; i++)
|
|
||||||
{
|
{
|
||||||
GVariant *child = g_variant_get_child_value (variant, i);
|
gint i, n;
|
||||||
g_variant_builder_add_value (builder, child);
|
|
||||||
g_variant_unref (child);
|
n = g_variant_n_children (variant);
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
GVariant *child = g_variant_get_child_value (variant, i);
|
||||||
|
g_variant_builder_add_value (builder, child);
|
||||||
|
g_variant_unref (child);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder;
|
return builder;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue