GCancellable *cancellable,
GError **error)
{
- gboolean ret = FALSE;
g_autoptr(GFile) ret_file = NULL;
if (g_str_has_prefix (arg, "/")
else
{
if (!ostree_repo_read_commit (repo, arg, &ret_file, NULL, cancellable, error))
- goto out;
+ return FALSE;
}
- ret = TRUE;
ot_transfer_out_value (out_file, &ret_file);
- out:
- return ret;
+ return TRUE;
}
static GHashTable *
GCancellable *cancellable,
GError **error)
{
- gboolean ret = FALSE;
GHashTableIter hashiter;
gpointer key, value;
ostree_object_name_deserialize (v, &csum, &objtype);
if (!ostree_repo_query_object_storage_size (repo, objtype, csum, &size,
cancellable, error))
- goto out;
+ return FALSE;
*out_total += size;
}
- ret = TRUE;
- out:
- return ret;
+ return TRUE;
}
gboolean
ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
{
- gboolean ret = FALSE;
- g_autoptr(GOptionContext) context = NULL;
- g_autoptr(OstreeRepo) repo = NULL;
- const char *src;
- const char *target;
- g_autofree char *src_prev = NULL;
- g_autoptr(GFile) srcf = NULL;
- g_autoptr(GFile) targetf = NULL;
- g_autoptr(GPtrArray) modified = NULL;
- g_autoptr(GPtrArray) removed = NULL;
- g_autoptr(GPtrArray) added = NULL;
-
- context = g_option_context_new ("REV_OR_DIR REV_OR_DIR");
+ g_autoptr(GOptionContext) context = g_option_context_new ("REV_OR_DIR REV_OR_DIR");
+ g_autoptr(OstreeRepo) repo = NULL;
if (!ostree_option_context_parse (context, options, &argc, &argv, invocation, &repo, cancellable, error))
- goto out;
+ return FALSE;
if (argc < 2)
{
g_free (help);
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"REV must be specified");
- goto out;
+ return FALSE;
}
+ g_autofree char *src_prev = NULL;
+ const char *src;
+ const char *target;
if (argc == 2)
{
src_prev = g_strconcat (argv[1], "^", NULL);
if (!opt_stats && !opt_fs_diff)
opt_fs_diff = TRUE;
+ g_autoptr(GFile) srcf = NULL;
+ g_autoptr(GFile) targetf = NULL;
+ g_autoptr(GPtrArray) modified = NULL;
+ g_autoptr(GPtrArray) removed = NULL;
+ g_autoptr(GPtrArray) added = NULL;
+
if (opt_fs_diff)
{
OstreeDiffFlags diff_flags = OSTREE_DIFF_FLAGS_NONE;
diff_flags |= OSTREE_DIFF_FLAGS_IGNORE_XATTRS;
if (!parse_file_or_commit (repo, src, &srcf, cancellable, error))
- goto out;
+ return FALSE;
if (!parse_file_or_commit (repo, target, &targetf, cancellable, error))
- goto out;
+ return FALSE;
modified = g_ptr_array_new_with_free_func ((GDestroyNotify)ostree_diff_item_unref);
removed = g_ptr_array_new_with_free_func ((GDestroyNotify)g_object_unref);
OstreeDiffDirsOptions diff_opts = { opt_owner_uid, opt_owner_gid };
if (!ostree_diff_dirs_with_options (diff_flags, srcf, targetf, modified, removed,
added, &diff_opts, cancellable, error))
- goto out;
+ return FALSE;
ostree_diff_print (srcf, targetf, modified, removed, added);
}
guint64 total_common;
if (!ostree_repo_resolve_rev (repo, src, FALSE, &rev_a, error))
- goto out;
+ return FALSE;
if (!ostree_repo_resolve_rev (repo, target, FALSE, &rev_b, error))
- goto out;
+ return FALSE;
if (!ostree_repo_traverse_commit (repo, rev_a, 0, &reachable_a, cancellable, error))
- goto out;
+ return FALSE;
if (!ostree_repo_traverse_commit (repo, rev_b, 0, &reachable_b, cancellable, error))
- goto out;
+ return FALSE;
a_size = g_hash_table_size (reachable_a);
b_size = g_hash_table_size (reachable_b);
if (!object_set_total_size (repo, reachable_intersection, &total_common,
cancellable, error))
- goto out;
+ return FALSE;
size = g_format_size_full (total_common, 0);
g_print ("Common Object Size: %s\n", size);
}
- ret = TRUE;
- out:
- return ret;
+ return TRUE;
}