git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 02/12] refs: use designated initializers for "struct ref_storage_be"

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 24, 2022, 09:32 UTC
Message-ID
<patch-02.12-167d4bfdd82-20220224T092805Z-avarab@gmail.com>
In-Reply-To
<cover-00.12-00000000000-20220224T092805Z-avarab@gmail.com>

Change the definition of the three refs backends we currently carry to use designated initializers.

The "= NULL" assignments being retained here are redundant, and could be removed, but let's keep them for clarity. All of these backends define almost all fields, so we're not saving much in terms of line count by omitting these, but e.g. for "refs_be_debug" it's immediately apparent that we're omitting "init" when comparing its assignment to the others.

This is a follow-up to similar work merged in bd4232fac33 (Merge branch 'ab/struct-init', 2021-07-16), a4b9fb6a5cf (Merge branch 'ab/designated-initializers-more', 2021-10-18) and a30321b9eae (Merge branch 'ab/designated-initializers' into ab/designated-initializers-more, 2021-09-27).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 refs/debug.c          | 50 +++++++++++++++++++++----------------------
 refs/files-backend.c  | 50 +++++++++++++++++++++----------------------
 refs/packed-backend.c | 50 +++++++++++++++++++++----------------------
 3 files changed, 75 insertions(+), 75 deletions(-)
diff --git a/refs/debug.c b/refs/debug.c
index 2b0771ca53b..c8b52d43a79 100644
--- a/refs/debug.c
+++ b/refs/debug.c
@@ -418,29 +418,29 @@ static int debug_reflog_expire(struct ref_store *ref_store, const char *refname,
 }
 
 struct ref_storage_be refs_be_debug = {
-	NULL,
-	"debug",
-	NULL,
-	debug_init_db,
-	debug_transaction_prepare,
-	debug_transaction_finish,
-	debug_transaction_abort,
-	debug_initial_transaction_commit,
-
-	debug_pack_refs,
-	debug_create_symref,
-	debug_delete_refs,
-	debug_rename_ref,
-	debug_copy_ref,
-
-	debug_ref_iterator_begin,
-	debug_read_raw_ref,
-
-	debug_reflog_iterator_begin,
-	debug_for_each_reflog_ent,
-	debug_for_each_reflog_ent_reverse,
-	debug_reflog_exists,
-	debug_create_reflog,
-	debug_delete_reflog,
-	debug_reflog_expire,
+	.next = NULL,
+	.name = "debug",
+	.init = NULL,
+	.init_db = debug_init_db,
+	.transaction_prepare = debug_transaction_prepare,
+	.transaction_finish = debug_transaction_finish,
+	.transaction_abort = debug_transaction_abort,
+	.initial_transaction_commit = debug_initial_transaction_commit,
+
+	.pack_refs = debug_pack_refs,
+	.create_symref = debug_create_symref,
+	.delete_refs = debug_delete_refs,
+	.rename_ref = debug_rename_ref,
+	.copy_ref = debug_copy_ref,
+
+	.iterator_begin = debug_ref_iterator_begin,
+	.read_raw_ref = debug_read_raw_ref,
+
+	.reflog_iterator_begin = debug_reflog_iterator_begin,
+	.for_each_reflog_ent = debug_for_each_reflog_ent,
+	.for_each_reflog_ent_reverse = debug_for_each_reflog_ent_reverse,
+	.reflog_exists = debug_reflog_exists,
+	.create_reflog = debug_create_reflog,
+	.delete_reflog = debug_delete_reflog,
+	.reflog_expire = debug_reflog_expire,
 };
diff --git a/refs/files-backend.c b/refs/files-backend.c
index f59589d6cce..efc942958ef 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -3269,29 +3269,29 @@ static int files_init_db(struct ref_store *ref_store, struct strbuf *err)
 }
 
 struct ref_storage_be refs_be_files = {
-	NULL,
-	"files",
-	files_ref_store_create,
-	files_init_db,
-	files_transaction_prepare,
-	files_transaction_finish,
-	files_transaction_abort,
-	files_initial_transaction_commit,
-
-	files_pack_refs,
-	files_create_symref,
-	files_delete_refs,
-	files_rename_ref,
-	files_copy_ref,
-
-	files_ref_iterator_begin,
-	files_read_raw_ref,
-
-	files_reflog_iterator_begin,
-	files_for_each_reflog_ent,
-	files_for_each_reflog_ent_reverse,
-	files_reflog_exists,
-	files_create_reflog,
-	files_delete_reflog,
-	files_reflog_expire
+	.next = NULL,
+	.name = "files",
+	.init = files_ref_store_create,
+	.init_db = files_init_db,
+	.transaction_prepare = files_transaction_prepare,
+	.transaction_finish = files_transaction_finish,
+	.transaction_abort = files_transaction_abort,
+	.initial_transaction_commit = files_initial_transaction_commit,
+
+	.pack_refs = files_pack_refs,
+	.create_symref = files_create_symref,
+	.delete_refs = files_delete_refs,
+	.rename_ref = files_rename_ref,
+	.copy_ref = files_copy_ref,
+
+	.iterator_begin = files_ref_iterator_begin,
+	.read_raw_ref = files_read_raw_ref,
+
+	.reflog_iterator_begin = files_reflog_iterator_begin,
+	.for_each_reflog_ent = files_for_each_reflog_ent,
+	.for_each_reflog_ent_reverse = files_for_each_reflog_ent_reverse,
+	.reflog_exists = files_reflog_exists,
+	.create_reflog = files_create_reflog,
+	.delete_reflog = files_delete_reflog,
+	.reflog_expire = files_reflog_expire
 };
diff --git a/refs/packed-backend.c b/refs/packed-backend.c
index 27dd8c3922b..ba75c28f1bf 100644
--- a/refs/packed-backend.c
+++ b/refs/packed-backend.c
@@ -1667,29 +1667,29 @@ static int packed_reflog_expire(struct ref_store *ref_store,
 }
 
 struct ref_storage_be refs_be_packed = {
-	NULL,
-	"packed",
-	packed_ref_store_create,
-	packed_init_db,
-	packed_transaction_prepare,
-	packed_transaction_finish,
-	packed_transaction_abort,
-	packed_initial_transaction_commit,
-
-	packed_pack_refs,
-	packed_create_symref,
-	packed_delete_refs,
-	packed_rename_ref,
-	packed_copy_ref,
-
-	packed_ref_iterator_begin,
-	packed_read_raw_ref,
-
-	packed_reflog_iterator_begin,
-	packed_for_each_reflog_ent,
-	packed_for_each_reflog_ent_reverse,
-	packed_reflog_exists,
-	packed_create_reflog,
-	packed_delete_reflog,
-	packed_reflog_expire
+	.next = NULL,
+	.name = "packed",
+	.init = packed_ref_store_create,
+	.init_db = packed_init_db,
+	.transaction_prepare = packed_transaction_prepare,
+	.transaction_finish = packed_transaction_finish,
+	.transaction_abort = packed_transaction_abort,
+	.initial_transaction_commit = packed_initial_transaction_commit,
+
+	.pack_refs = packed_pack_refs,
+	.create_symref = packed_create_symref,
+	.delete_refs = packed_delete_refs,
+	.rename_ref = packed_rename_ref,
+	.copy_ref = packed_copy_ref,
+
+	.iterator_begin = packed_ref_iterator_begin,
+	.read_raw_ref = packed_read_raw_ref,
+
+	.reflog_iterator_begin = packed_reflog_iterator_begin,
+	.for_each_reflog_ent = packed_for_each_reflog_ent,
+	.for_each_reflog_ent_reverse = packed_for_each_reflog_ent_reverse,
+	.reflog_exists = packed_reflog_exists,
+	.create_reflog = packed_create_reflog,
+	.delete_reflog = packed_delete_reflog,
+	.reflog_expire = packed_reflog_expire
 };
-- 
2.35.1.1157.g524e2d5a0db
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 3 of 17 in “c99: use more designated initializers”
  1. 00/12 c99: use more designated initializersÆvar Arnfjörð Bjarmason, Feb 24, 2022
  2. 01/12 imap-send.c: use designated initializers for "struct imap_server_conf"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  3. 02/12 refs: use designated initializers for "struct ref_storage_be"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  4. 03/12 refs: use designated initializers for "struct ref_iterator_vtable"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  5. 04/12 trace2: use designated initializers for "struct tr2_tgt"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  6. 05/12 trace2: use designated initializers for "struct tr2_dst"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  7. 06/12 object-file: use designated initializers for "struct git_hash_algo"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  8. 07/12 archive-*.c: use designated initializers for "struct archiver"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  9. 08/12 userdiff.c: use designated initializers for "struct userdiff_driver"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  10. 09/12 convert.c: use designated initializers for "struct stream_filter*"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  11. 10/12 refspec.c: use designated initializers for "struct refspec_item"Ævar Arnfjörð Bjarmason, Feb 24, 2022
  12. 11/12 misc *.c: use designated initializers for struct assignmentsÆvar Arnfjörð Bjarmason, Feb 24, 2022
  13. 12/12 misc *.c: use designated initializers for "partial" struct assignmentsÆvar Arnfjörð Bjarmason, Feb 24, 2022
  14. Johannes SchindelinFeb 24, 2022
  15. Junio C HamanoFeb 24, 2022
  16. Ævar Arnfjörð BjarmasonFeb 24, 2022
  17. Junio C HamanoFeb 25, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.