builtin/show: Convert to direct return/decl-after-stmt style
I just happened to be reading this code; still testing the waters for the new code style. If we decide to do more of this it's likely worth trying out a [Coccinelle](http://coccinelle.lip6.fr/) patch or something. Closes: #733 Approved by: jlebon
This commit is contained in:
parent
46001f4a5b
commit
943c6c36c7
|
|
@ -52,17 +52,13 @@ do_print_variant_generic (const GVariantType *type,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
|
||||||
g_autoptr(GVariant) variant = NULL;
|
g_autoptr(GVariant) variant = NULL;
|
||||||
|
|
||||||
if (!ot_util_variant_map_at (AT_FDCWD, filename, type, TRUE, &variant, error))
|
if (!ot_util_variant_map_at (AT_FDCWD, filename, type, TRUE, &variant, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
|
|
||||||
ot_dump_variant (variant);
|
ot_dump_variant (variant);
|
||||||
|
return TRUE;
|
||||||
ret = TRUE;
|
|
||||||
out:
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
@ -71,34 +67,23 @@ do_print_related (OstreeRepo *repo,
|
||||||
const char *resolved_rev,
|
const char *resolved_rev,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
|
||||||
const char *name;
|
|
||||||
g_autoptr(GVariant) csum_v = NULL;
|
|
||||||
g_autoptr(GVariant) variant = NULL;
|
g_autoptr(GVariant) variant = NULL;
|
||||||
g_autoptr(GVariant) related = NULL;
|
|
||||||
GVariantIter *viter = NULL;
|
|
||||||
|
|
||||||
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT,
|
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT,
|
||||||
resolved_rev, &variant, error))
|
resolved_rev, &variant, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
|
|
||||||
/* PARSE OSTREE_SERIALIZED_COMMIT_VARIANT */
|
|
||||||
related = g_variant_get_child_value (variant, 2);
|
|
||||||
|
|
||||||
viter = g_variant_iter_new (related);
|
|
||||||
|
|
||||||
|
/* PARSE OSTREE_SERIALIZED_COMMIT_VARIANT */
|
||||||
|
g_autoptr(GVariant) related = g_variant_get_child_value (variant, 2);
|
||||||
|
g_autoptr(GVariantIter) viter = g_variant_iter_new (related);
|
||||||
|
|
||||||
|
const char *name;
|
||||||
|
GVariant* csum_v;
|
||||||
while (g_variant_iter_loop (viter, "(&s@ay)", &name, &csum_v))
|
while (g_variant_iter_loop (viter, "(&s@ay)", &name, &csum_v))
|
||||||
{
|
{
|
||||||
g_autofree char *checksum = ostree_checksum_from_bytes_v (csum_v);
|
g_autofree char *checksum = ostree_checksum_from_bytes_v (csum_v);
|
||||||
g_print ("%s %s\n", name, checksum);
|
g_print ("%s %s\n", name, checksum);
|
||||||
}
|
}
|
||||||
csum_v = NULL;
|
return TRUE;
|
||||||
|
|
||||||
ret = TRUE;
|
|
||||||
out:
|
|
||||||
if (viter)
|
|
||||||
g_variant_iter_free (viter);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
@ -108,8 +93,6 @@ do_print_metadata_key (OstreeRepo *repo,
|
||||||
const char *key,
|
const char *key,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
|
||||||
g_autoptr(GVariant) value = NULL;
|
|
||||||
g_autoptr(GVariant) commit = NULL;
|
g_autoptr(GVariant) commit = NULL;
|
||||||
g_autoptr(GVariant) metadata = NULL;
|
g_autoptr(GVariant) metadata = NULL;
|
||||||
|
|
||||||
|
|
@ -117,7 +100,7 @@ do_print_metadata_key (OstreeRepo *repo,
|
||||||
{
|
{
|
||||||
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT,
|
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT,
|
||||||
resolved_rev, &commit, error))
|
resolved_rev, &commit, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
/* PARSE OSTREE_SERIALIZED_COMMIT_VARIANT */
|
/* PARSE OSTREE_SERIALIZED_COMMIT_VARIANT */
|
||||||
metadata = g_variant_get_child_value (commit, 0);
|
metadata = g_variant_get_child_value (commit, 0);
|
||||||
}
|
}
|
||||||
|
|
@ -125,28 +108,25 @@ do_print_metadata_key (OstreeRepo *repo,
|
||||||
{
|
{
|
||||||
if (!ostree_repo_read_commit_detached_metadata (repo, resolved_rev, &metadata,
|
if (!ostree_repo_read_commit_detached_metadata (repo, resolved_rev, &metadata,
|
||||||
NULL, error))
|
NULL, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (metadata == NULL)
|
if (metadata == NULL)
|
||||||
{
|
{
|
||||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
|
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
|
||||||
"No detached metadata for commit %s", resolved_rev);
|
"No detached metadata for commit %s", resolved_rev);
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
value = g_variant_lookup_value (metadata, key, NULL);
|
g_autoptr(GVariant) value = g_variant_lookup_value (metadata, key, NULL);
|
||||||
if (!value)
|
if (!value)
|
||||||
{
|
{
|
||||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
|
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
|
||||||
"No such metadata key '%s'", key);
|
"No such metadata key '%s'", key);
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ot_dump_variant (value);
|
ot_dump_variant (value);
|
||||||
|
return TRUE;
|
||||||
ret = TRUE;
|
|
||||||
out:
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
@ -155,13 +135,12 @@ print_object (OstreeRepo *repo,
|
||||||
const char *checksum,
|
const char *checksum,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
g_autoptr(GVariant) variant = NULL;
|
|
||||||
OstreeDumpFlags flags = OSTREE_DUMP_NONE;
|
OstreeDumpFlags flags = OSTREE_DUMP_NONE;
|
||||||
gboolean ret = FALSE;
|
|
||||||
|
|
||||||
|
g_autoptr(GVariant) variant = NULL;
|
||||||
if (!ostree_repo_load_variant (repo, objtype, checksum,
|
if (!ostree_repo_load_variant (repo, objtype, checksum,
|
||||||
&variant, error))
|
&variant, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (opt_raw)
|
if (opt_raw)
|
||||||
flags |= OSTREE_DUMP_RAW;
|
flags |= OSTREE_DUMP_RAW;
|
||||||
ot_dump_object (objtype, checksum, variant, flags);
|
ot_dump_object (objtype, checksum, variant, flags);
|
||||||
|
|
@ -169,7 +148,7 @@ print_object (OstreeRepo *repo,
|
||||||
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||||
{
|
{
|
||||||
glnx_unref_object OstreeGpgVerifyResult *result = NULL;
|
glnx_unref_object OstreeGpgVerifyResult *result = NULL;
|
||||||
GError *local_error = NULL;
|
g_autoptr(GError) local_error = NULL;
|
||||||
g_autoptr(GFile) gpg_homedir = opt_gpg_homedir ? g_file_new_for_path (opt_gpg_homedir) : NULL;
|
g_autoptr(GFile) gpg_homedir = opt_gpg_homedir ? g_file_new_for_path (opt_gpg_homedir) : NULL;
|
||||||
|
|
||||||
if (opt_gpg_verify_remote)
|
if (opt_gpg_verify_remote)
|
||||||
|
|
@ -186,24 +165,20 @@ print_object (OstreeRepo *repo,
|
||||||
|
|
||||||
if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
||||||
{
|
{
|
||||||
g_clear_error (&local_error);
|
/* Ignore */
|
||||||
}
|
}
|
||||||
else if (local_error != NULL)
|
else if (local_error != NULL)
|
||||||
{
|
{
|
||||||
g_propagate_error (error, local_error);
|
g_propagate_error (error, g_steal_pointer (&local_error));
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GString *buffer;
|
guint n_sigs = ostree_gpg_verify_result_count_all (result);
|
||||||
guint n_sigs, ii;
|
|
||||||
|
|
||||||
n_sigs = ostree_gpg_verify_result_count_all (result);
|
|
||||||
g_print ("Found %u signature%s:\n", n_sigs, n_sigs == 1 ? "" : "s");
|
g_print ("Found %u signature%s:\n", n_sigs, n_sigs == 1 ? "" : "s");
|
||||||
|
|
||||||
buffer = g_string_sized_new (256);
|
g_autoptr(GString) buffer = g_string_sized_new (256);
|
||||||
|
for (guint ii = 0; ii < n_sigs; ii++)
|
||||||
for (ii = 0; ii < n_sigs; ii++)
|
|
||||||
{
|
{
|
||||||
g_string_append_c (buffer, '\n');
|
g_string_append_c (buffer, '\n');
|
||||||
ostree_gpg_verify_result_describe (result, ii, buffer, " ",
|
ostree_gpg_verify_result_describe (result, ii, buffer, " ",
|
||||||
|
|
@ -211,13 +186,10 @@ print_object (OstreeRepo *repo,
|
||||||
}
|
}
|
||||||
|
|
||||||
g_print ("%s", buffer->str);
|
g_print ("%s", buffer->str);
|
||||||
g_string_free (buffer, TRUE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = TRUE;
|
return TRUE;
|
||||||
out:
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
@ -228,7 +200,6 @@ print_if_found (OstreeRepo *repo,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
|
||||||
gboolean have_object = FALSE;
|
gboolean have_object = FALSE;
|
||||||
|
|
||||||
if (*inout_was_found)
|
if (*inout_was_found)
|
||||||
|
|
@ -236,62 +207,56 @@ print_if_found (OstreeRepo *repo,
|
||||||
|
|
||||||
if (!ostree_repo_has_object (repo, objtype, checksum, &have_object,
|
if (!ostree_repo_has_object (repo, objtype, checksum, &have_object,
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (have_object)
|
if (have_object)
|
||||||
{
|
{
|
||||||
if (!print_object (repo, objtype, checksum, error))
|
if (!print_object (repo, objtype, checksum, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
*inout_was_found = TRUE;
|
*inout_was_found = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = TRUE;
|
return TRUE;
|
||||||
out:
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
ostree_builtin_show (int argc, char **argv, GCancellable *cancellable, GError **error)
|
ostree_builtin_show (int argc, char **argv, GCancellable *cancellable, GError **error)
|
||||||
{
|
{
|
||||||
g_autoptr(GOptionContext) context = NULL;
|
g_autoptr(GOptionContext) context = g_option_context_new ("OBJECT - Output a metadata object");
|
||||||
|
|
||||||
glnx_unref_object OstreeRepo *repo = NULL;
|
glnx_unref_object OstreeRepo *repo = NULL;
|
||||||
gboolean ret = FALSE;
|
|
||||||
const char *rev;
|
|
||||||
g_autofree char *resolved_rev = NULL;
|
|
||||||
|
|
||||||
context = g_option_context_new ("OBJECT - Output a metadata object");
|
|
||||||
|
|
||||||
if (!ostree_option_context_parse (context, options, &argc, &argv, OSTREE_BUILTIN_FLAG_NONE, &repo, cancellable, error))
|
if (!ostree_option_context_parse (context, options, &argc, &argv, OSTREE_BUILTIN_FLAG_NONE, &repo, cancellable, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
|
|
||||||
if (argc <= 1)
|
if (argc <= 1)
|
||||||
{
|
{
|
||||||
ot_util_usage_error (context, "An object argument is required", error);
|
ot_util_usage_error (context, "An object argument is required", error);
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
rev = argv[1];
|
const char *rev = argv[1];
|
||||||
|
|
||||||
|
g_autofree char *resolved_rev = NULL;
|
||||||
if (opt_print_metadata_key || opt_print_detached_metadata_key)
|
if (opt_print_metadata_key || opt_print_detached_metadata_key)
|
||||||
{
|
{
|
||||||
gboolean detached = opt_print_detached_metadata_key != NULL;
|
gboolean detached = opt_print_detached_metadata_key != NULL;
|
||||||
const char *key = detached ? opt_print_detached_metadata_key : opt_print_metadata_key;
|
const char *key = detached ? opt_print_detached_metadata_key : opt_print_metadata_key;
|
||||||
if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
|
if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
|
|
||||||
if (!do_print_metadata_key (repo, resolved_rev, detached, key, error))
|
if (!do_print_metadata_key (repo, resolved_rev, detached, key, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else if (opt_print_related)
|
else if (opt_print_related)
|
||||||
{
|
{
|
||||||
if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
|
if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
|
|
||||||
if (!do_print_related (repo, rev, resolved_rev, error))
|
if (!do_print_related (repo, rev, resolved_rev, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else if (opt_print_variant_type)
|
else if (opt_print_variant_type)
|
||||||
{
|
{
|
||||||
if (!do_print_variant_generic (G_VARIANT_TYPE (opt_print_variant_type), rev, error))
|
if (!do_print_variant_generic (G_VARIANT_TYPE (opt_print_variant_type), rev, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -299,33 +264,32 @@ ostree_builtin_show (int argc, char **argv, GCancellable *cancellable, GError **
|
||||||
if (!ostree_validate_checksum_string (rev, NULL))
|
if (!ostree_validate_checksum_string (rev, NULL))
|
||||||
{
|
{
|
||||||
if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
|
if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (!print_object (repo, OSTREE_OBJECT_TYPE_COMMIT, resolved_rev, error))
|
if (!print_object (repo, OSTREE_OBJECT_TYPE_COMMIT, resolved_rev, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!print_if_found (repo, OSTREE_OBJECT_TYPE_COMMIT, rev,
|
if (!print_if_found (repo, OSTREE_OBJECT_TYPE_COMMIT, rev,
|
||||||
&found, cancellable, error))
|
&found, cancellable, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (!print_if_found (repo, OSTREE_OBJECT_TYPE_DIR_META, rev,
|
if (!print_if_found (repo, OSTREE_OBJECT_TYPE_DIR_META, rev,
|
||||||
&found, cancellable, error))
|
&found, cancellable, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (!print_if_found (repo, OSTREE_OBJECT_TYPE_DIR_TREE, rev,
|
if (!print_if_found (repo, OSTREE_OBJECT_TYPE_DIR_TREE, rev,
|
||||||
&found, cancellable, error))
|
&found, cancellable, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
g_autoptr(GFileInfo) finfo = NULL;
|
g_autoptr(GFileInfo) finfo = NULL;
|
||||||
g_autoptr(GVariant) xattrs = NULL;
|
g_autoptr(GVariant) xattrs = NULL;
|
||||||
GFileType filetype;
|
|
||||||
|
|
||||||
if (!ostree_repo_load_file (repo, rev, NULL, &finfo, &xattrs,
|
if (!ostree_repo_load_file (repo, rev, NULL, &finfo, &xattrs,
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
goto out;
|
return FALSE;
|
||||||
|
|
||||||
g_print ("Object: %s\nType: %s\n", rev, ostree_object_type_to_string (OSTREE_OBJECT_TYPE_FILE));
|
g_print ("Object: %s\nType: %s\n", rev, ostree_object_type_to_string (OSTREE_OBJECT_TYPE_FILE));
|
||||||
filetype = g_file_info_get_file_type (finfo);
|
GFileType filetype = g_file_info_get_file_type (finfo);
|
||||||
g_print ("File Type: ");
|
g_print ("File Type: ");
|
||||||
switch (filetype)
|
switch (filetype)
|
||||||
{
|
{
|
||||||
|
|
@ -358,8 +322,6 @@ ostree_builtin_show (int argc, char **argv, GCancellable *cancellable, GError **
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = TRUE;
|
return TRUE;
|
||||||
out:
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue