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

[PATCH v2 6/7] prune_remote(): iterate using for_each_string_list_item()

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Nov 25, 2014, 08:02 UTC
Message-ID
<1416902555-10748-7-git-send-email-mhagger@alum.mit.edu>
In-Reply-To
<1416902555-10748-1-git-send-email-mhagger@alum.mit.edu>

Iterate over refs_to_prune using for_each_string_list_item() rather than writing out the loop in longhand.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
---
 builtin/remote.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/builtin/remote.c b/builtin/remote.c
index efbf5fb..7fec170 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -1309,9 +1309,10 @@ static int set_head(int argc, const char **argv)
 
 static int prune_remote(const char *remote, int dry_run)
 {
-	int result = 0, i;
+	int result = 0;
 	struct ref_states states;
 	struct string_list refs_to_prune = STRING_LIST_INIT_NODUP;
+	struct string_list_item *item;
 	const char *dangling_msg = dry_run
 		? _(" %s will become dangling!")
 		: _(" %s has become dangling!");
@@ -1330,11 +1331,8 @@ static int prune_remote(const char *remote, int dry_run)
 		  ? states.remote->url[0]
 		  : _("(no URL)"));
 
-	for (i = 0; i < states.stale.nr; i++) {
-		const char *refname = states.stale.items[i].util;
-
-		string_list_append(&refs_to_prune, refname);
-	}
+	for_each_string_list_item(item, &states.stale)
+		string_list_append(&refs_to_prune, item->util);
 	sort_string_list(&refs_to_prune);
 
 	if (!dry_run) {
@@ -1344,8 +1342,8 @@ static int prune_remote(const char *remote, int dry_run)
 		strbuf_release(&err);
 	}
 
-	for (i = 0; i < states.stale.nr; i++) {
-		const char *refname = states.stale.items[i].util;
+	for_each_string_list_item(item, &states.stale) {
+		const char *refname = item->util;
 
 		if (!dry_run)
 			result |= delete_ref(refname, NULL, 0);
-- 
2.1.3
Previous: Michael HaggertyNext: Michael Haggerty
Message 8 of 12 in “repack_without_refs(): convert to string_list”
  1. 0/7 repack_without_refs(): convert to string_listMichael Haggerty, Nov 25, 2014
  2. 1/7 prune_remote(): exit early if there are no stale referencesMichael Haggerty, Nov 25, 2014
  3. Junio C HamanoNov 25, 2014
  4. 2/7 prune_remote(): initialize both delete_refs lists in a single loopMichael Haggerty, Nov 25, 2014
  5. 3/7 prune_remote(): sort delete_refs_list references en masseMichael Haggerty, Nov 25, 2014
  6. 4/7 repack_without_refs(): make the refnames argument a string_listMichael Haggerty, Nov 25, 2014
  7. 5/7 prune_remote(): rename local variableMichael Haggerty, Nov 25, 2014
  8. 6/7 prune_remote(): iterate using for_each_string_list_item()Michael Haggerty, Nov 25, 2014
  9. 7/7 Rename sort_string_list() to string_list_sort()Michael Haggerty, Nov 25, 2014
  10. Junio C HamanoNov 25, 2014
  11. Stefan BellerNov 26, 2014
  12. Junio C HamanoNov 26, 2014

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.