string_list_add_refs_by_glob(): add a comment about memory management
authorMichael Haggerty <mhagger@alum.mit.edu>
Sat, 25 May 2013 09:08:21 +0000 (11:08 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 2 Jun 2013 22:28:47 +0000 (15:28 -0700)
Since string_list_add_one_ref() adds refname to the string list, but
the lifetime of refname is limited, it is important that the
string_list passed to string_list_add_one_ref() has strdup_strings
set. Document this fact.

All current callers do the right thing.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
notes.c
diff --git a/notes.c b/notes.c
index fa7cdf7dd2eadcd757936f6eab50caa6fd92fb8b..b69c0b82577e0d4958ddf3efbb4aec5a9c5fa99e 100644 (file)
--- a/notes.c
+++ b/notes.c
@@ -927,8 +927,12 @@ static int string_list_add_one_ref(const char *refname, const unsigned char *sha
        return 0;
 }
 
+/*
+ * The list argument must have strdup_strings set on it.
+ */
 void string_list_add_refs_by_glob(struct string_list *list, const char *glob)
 {
+       assert(list->strdup_strings);
        if (has_glob_specials(glob)) {
                for_each_glob_ref(string_list_add_one_ref, glob, list);
        } else {