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

[PATCH 5/7] submodule--helper: factor out allocation of callback cookie

From
Stefan Beller <sbeller@google.com>
Date
Aug 16, 2018, 02:30 UTC
Message-ID
<20180816023100.161626-6-sbeller@google.com>
In-Reply-To
<20180816023100.161626-1-sbeller@google.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
---
 builtin/submodule--helper.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 639d0bb20a1..1c9a12781fd 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1688,6 +1688,13 @@ static int prepare_to_clone_next_submodule(const struct cache_entry *ce,
 	return needs_cloning;
 }
 
+static void *update_clone_alloc_cb(int i)
+{
+	int *p = xmalloc(sizeof(*p));
+	*p = i;
+	return p;
+}
+
 static int update_clone_get_next_task(struct child_process *child,
 				      struct strbuf *err,
 				      void *suc_cb,
@@ -1700,9 +1707,7 @@ static int update_clone_get_next_task(struct child_process *child,
 	for (; suc->current < suc->list.nr; suc->current++) {
 		ce = suc->list.entries[suc->current];
 		if (prepare_to_clone_next_submodule(ce, child, suc, err)) {
-			int *p = xmalloc(sizeof(*p));
-			*p = suc->current;
-			*idx_task_cb = p;
+			*idx_task_cb = update_clone_alloc_cb(suc->current);
 			suc->current++;
 			return 1;
 		}
@@ -1715,7 +1720,6 @@ static int update_clone_get_next_task(struct child_process *child,
 	 */
 	index = suc->current - suc->list.nr;
 	if (index < suc->failed_clones_nr) {
-		int *p;
 		ce = suc->failed_clones[index];
 		if (!prepare_to_clone_next_submodule(ce, child, suc, err)) {
 			suc->current ++;
@@ -1724,9 +1728,7 @@ static int update_clone_get_next_task(struct child_process *child,
 					   "any more?\n");
 			return 0;
 		}
-		p = xmalloc(sizeof(*p));
-		*p = suc->current;
-		*idx_task_cb = p;
+		*idx_task_cb = update_clone_alloc_cb(suc->current);
 		suc->current ++;
 		return 1;
 	}
-- 
2.18.0.265.g16de1b435c9.dirty
Previous: Stefan BellerNext: Stefan Beller
Message 10 of 14 in “Unset the submodule URL in the superproject when no longer needed”
  1. 0/7 Unset the submodule URL in the superproject when no longer neededStefan Beller, Aug 16, 2018
  2. 1/7 t7410: update to new styleStefan Beller, Aug 16, 2018
  3. Junio C HamanoAug 16, 2018
  4. 2/7 builtin/submodule--helper: remove stray new lineStefan Beller, Aug 16, 2018
  5. 3/7 submodule: is_submodule_active to differentiate between new and old modeStefan Beller, Aug 16, 2018
  6. Junio C HamanoAug 16, 2018
  7. Stefan BellerAug 20, 2018
  8. Junio C HamanoAug 21, 2018
  9. 4/7 submodule sync: omit setting submodule URL in config if possibleStefan Beller, Aug 16, 2018
  10. 5/7 submodule--helper: factor out allocation of callback cookieStefan Beller, Aug 16, 2018
  11. 6/7 submodule--helper, update_clone: store index to update_clone instead of ceStefan Beller, Aug 16, 2018
  12. 7/7 builtin/submodule--helper: unset submodule url if possibleStefan Beller, Aug 16, 2018
  13. Junio C HamanoAug 16, 2018
  14. Stefan BellerAug 16, 2018

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.