notes: refactor display notes extra refs field
authorJeff King <peff@peff.net>
Tue, 29 Mar 2011 20:56:53 +0000 (16:56 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 29 Mar 2011 21:30:54 +0000 (14:30 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
notes.c
notes.h
revision.c

diff --git a/notes.c b/notes.c
index f6b9b6a72aa7b157627c8d59e8b9025377f13d44..2ec604c1db4d897eba31debb613d5f965b83ed90 100644 (file)
--- 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 60bdf289a3fb053cf0010f66d7df41ae1d922b6a..7ae3eefe060c511bbe7cf7628256a7407c12f1ca 100644 (file)
--- 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;
 };
 
 /*
index 5826e5d599d3cffc2134e6482902dd16de00ab02..24b89ebfdc17df98292a9299a3dabfac2aa05f02 100644 (file)
@@ -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;