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

[PATCH 3/6] notes: refactor display notes extra refs field

From
Jeff King <peff@peff.net>
Date
Mar 29, 2011, 20:56 UTC
Message-ID
<20110329205653.GC23466@sigill.intra.peff.net>
In-Reply-To
<20110329205307.GA30959@sigill.intra.peff.net>

There's no need to use an extra pointer, which just ends up leaking memory. The fact that the list is empty tells us the same thing.

Signed-off-by: Jeff King <peff@peff.net>
---
 notes.c    |    4 ++--
 notes.h    |    4 +++-
 revision.c |    4 +---
 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/notes.c b/notes.c
index f6b9b6a..2ec604c 100644
--- a/notes.c
+++ b/notes.c
@@ -1066,9 +1066,9 @@ void init_display_notes(struct display_notes_opt *opt)
 
 	git_config(notes_display_config, &load_config_refs);
 
-	if (opt && opt->extra_notes_refs) {
+	if (opt) {
 		struct string_list_item *item;
-		for_each_string_list_item(item, opt->extra_notes_refs)
+		for_each_string_list_item(item, &opt->extra_notes_refs)
 			string_list_add_refs_by_glob(&display_notes_refs,
 						     item->string);
 	}
diff --git a/notes.h b/notes.h
index 60bdf28..7ae3eef 100644
--- a/notes.h
+++ b/notes.h
@@ -1,6 +1,8 @@
 #ifndef NOTES_H
 #define NOTES_H
 
+#include "string-list.h"
+
 /*
  * Function type for combining two notes annotating the same object.
  *
@@ -257,7 +259,7 @@ struct string_list;
 
 struct display_notes_opt {
 	unsigned int suppress_default_notes:1;
-	struct string_list *extra_notes_refs;
+	struct string_list extra_notes_refs;
 };
 
 /*
diff --git a/revision.c b/revision.c
index 5826e5d..24b89eb 100644
--- a/revision.c
+++ b/revision.c
@@ -1372,11 +1372,9 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
 		struct strbuf buf = STRBUF_INIT;
 		revs->show_notes = 1;
 		revs->show_notes_given = 1;
-		if (!revs->notes_opt.extra_notes_refs)
-			revs->notes_opt.extra_notes_refs = xcalloc(1, sizeof(struct string_list));
 		strbuf_addstr(&buf, arg+13);
 		expand_notes_ref(&buf);
-		string_list_append(revs->notes_opt.extra_notes_refs,
+		string_list_append(&revs->notes_opt.extra_notes_refs,
 				   strbuf_detach(&buf, NULL));
 	} else if (!strcmp(arg, "--no-notes")) {
 		revs->show_notes = 0;
-- 
1.7.4.2.7.g9407
Previous: Jeff KingNext: Jeff King
Message 9 of 23 in “revision.c: introduce --notes-ref= to use one notes ref only”
  1. revision.c: introduce --notes-ref= to use one notes ref onlyMichael J Gruber, Mar 29, 2011
  2. Johan HerlandMar 29, 2011
  3. Jeff KingMar 29, 2011
  4. Michael J GruberMar 29, 2011
  5. Junio C HamanoMar 29, 2011
  6. Jeff KingMar 29, 2011
  7. 1/6 notes: make expand_notes_ref globally accessibleJeff King, Mar 29, 2011
  8. 2/6 revision.c: refactor notes ref expansionJeff King, Mar 29, 2011
  9. 3/6 notes: refactor display notes extra refs fieldJeff King, Mar 29, 2011
  10. 4/6 notes: refactor display notes default handlingJeff King, Mar 29, 2011
  11. Junio C HamanoMar 29, 2011
  12. 5/6 revision.c: support --notes command-line optionJeff King, Mar 29, 2011
  13. 6/6 revision.c: make --no-notes reset --notes listJeff King, Mar 29, 2011
  14. Junio C HamanoMar 29, 2011
  15. Johan HerlandMar 29, 2011
  16. 7/6 log/pretty-options: Document --[no-]notes and deprecate old notes optionsJohan Herland, Mar 29, 2011
  17. Jeff KingMar 30, 2011
  18. 7/6 log/pretty-options: Document --[no-]notes and deprecate old notes optionsJohan Herland, Mar 30, 2011
  19. Jeff KingMar 30, 2011
  20. Jeff KingMar 29, 2011
  21. Jeff KingMar 29, 2011
  22. Michael J GruberMar 29, 2011
  23. Jeff KingMar 29, 2011

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.