From: Junio C Hamano Date: Mon, 10 Sep 2012 21:56:15 GMT Subject: Re: [PATCH v2 1/6] string_list: add function string_list_append_nodup() Message-ID: <7vpq5tleyo.fsf@alter.siamese.dyndns.org> In-Reply-To: <1347311926-5207-2-git-send-email-mhagger@alum.mit.edu> Michael Haggerty writes: > diff --git a/string-list.c b/string-list.c > index d9810ab..5594b7d 100644 > --- a/string-list.c > +++ b/string-list.c > @@ -148,13 +148,23 @@ void print_string_list(const struct string_list *p, const char *text) > printf("%s:%p\n", p->items[i].string, p->items[i].util); > } > > -struct string_list_item *string_list_append(struct string_list *list, const char *string) > +struct string_list_item *string_list_append_nodup(struct string_list *list, > + char *string) > { > + struct string_list_item *retval; > ALLOC_GROW(list->items, list->nr + 1, list->alloc); > - list->items[list->nr].string = > - list->strdup_strings ? xstrdup(string) : (char *)string; > - list->items[list->nr].util = NULL; > - return list->items + list->nr++; > + retval = &list->items[list->nr++]; > + retval->string = (char *)string; Do you still need this cast, now the function takes non-const "char *string"?