cmd/export: Port to C99 style
authorColin Walters <walters@verbum.org>
Thu, 24 Aug 2023 01:14:53 +0000 (21:14 -0400)
committerColin Walters <walters@verbum.org>
Thu, 24 Aug 2023 01:14:53 +0000 (21:14 -0400)
Just keeping up momentum.

src/ostree/ot-builtin-export.c

index 00d77cc343ce66831387f2cbb1101747242e7fc6..193e17b527ef7d8981a245617d0a963aa3d0e038 100644 (file)
@@ -65,37 +65,23 @@ gboolean
 ostree_builtin_export (int argc, char **argv, OstreeCommandInvocation *invocation,
                        GCancellable *cancellable, GError **error)
 {
-  g_autoptr (GOptionContext) context = NULL;
-  g_autoptr (OstreeRepo) repo = NULL;
-  gboolean ret = FALSE;
-  g_autoptr (GFile) root = NULL;
-  g_autoptr (GFile) subtree = NULL;
-  g_autofree char *commit = NULL;
-  g_autoptr (GVariant) commit_data = NULL;
-#ifdef HAVE_LIBARCHIVE
-  const char *rev;
-  g_autoptr (OtAutoArchiveWrite) a = NULL;
-  OstreeRepoExportArchiveOptions opts = {
-    0,
-  };
-#endif
-
-  context = g_option_context_new ("COMMIT");
+  g_autoptr (GOptionContext) context = g_option_context_new ("COMMIT");
 
+  g_autoptr (OstreeRepo) repo = NULL;
   if (!ostree_option_context_parse (context, options, &argc, &argv, invocation, &repo, cancellable,
                                     error))
-    goto out;
+    return FALSE;
 
 #ifdef HAVE_LIBARCHIVE
 
   if (argc <= 1)
     {
       ot_util_usage_error (context, "A COMMIT argument is required", error);
-      goto out;
+      return FALSE;
     }
-  rev = argv[1];
+  const char *rev = argv[1];
 
-  a = archive_write_new ();
+  g_autoptr (OtAutoArchiveWrite) a = archive_write_new ();
   /* Yes, this is hardcoded for now.  There is
    * archive_write_set_format_filter_by_ext() but it's fairly magic.
    * Many programs have support now for GNU tar, so should be a good
@@ -105,19 +91,19 @@ ostree_builtin_export (int argc, char **argv, OstreeCommandInvocation *invocatio
   if (archive_write_set_format_gnutar (a) != ARCHIVE_OK)
     {
       propagate_libarchive_error (error, a);
-      goto out;
+      return FALSE;
     }
   if (archive_write_add_filter_none (a) != ARCHIVE_OK)
     {
       propagate_libarchive_error (error, a);
-      goto out;
+      return FALSE;
     }
   if (opt_output_path)
     {
       if (archive_write_open_filename (a, opt_output_path) != ARCHIVE_OK)
         {
           propagate_libarchive_error (error, a);
-          goto out;
+          return FALSE;
         }
     }
   else
@@ -125,21 +111,28 @@ ostree_builtin_export (int argc, char **argv, OstreeCommandInvocation *invocatio
       if (archive_write_open_FILE (a, stdout) != ARCHIVE_OK)
         {
           propagate_libarchive_error (error, a);
-          goto out;
+          return FALSE;
         }
     }
 
+  OstreeRepoExportArchiveOptions opts = {
+    0,
+  };
   if (opt_no_xattrs)
     opts.disable_xattrs = TRUE;
 
+  g_autofree char *commit = NULL;
+  g_autoptr (GFile) root = NULL;
   if (!ostree_repo_read_commit (repo, rev, &root, &commit, cancellable, error))
-    goto out;
+    return FALSE;
 
+  g_autoptr (GVariant) commit_data = NULL;
   if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT, commit, &commit_data, error))
-    goto out;
+    return FALSE;
 
   opts.timestamp_secs = ostree_commit_get_timestamp (commit_data);
 
+  g_autoptr (GFile) subtree = NULL;
   if (opt_subpath)
     subtree = g_file_resolve_relative_path (root, opt_subpath);
   else
@@ -149,21 +142,18 @@ ostree_builtin_export (int argc, char **argv, OstreeCommandInvocation *invocatio
 
   if (!ostree_repo_export_tree_to_archive (repo, &opts, (OstreeRepoFile *)subtree, a, cancellable,
                                            error))
-    goto out;
+    return FALSE;
 
   if (archive_write_close (a) != ARCHIVE_OK)
     {
       propagate_libarchive_error (error, a);
-      goto out;
+      return FALSE;
     }
 
+  return TRUE;
 #else
   g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
                "This version of ostree is not compiled with libarchive support");
-  goto out;
+  return FALSE;
 #endif
-
-  ret = TRUE;
-out:
-  return ret;
 }