Instead of asking callers to memset(&list, 0, sizeof(list)); list.strdup_strings = strdup_strings; we can take care of that ourselves, providing the flexibility to change the details of string_list layout later if wanted. Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> --- string-list.c | 7 +++++++ string-list.h | 1 + 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/string-list.c b/string-list.c index 9b023a2..8e992a7 100644 --- a/string-list.c +++ b/string-list.c @@ -102,6 +102,13 @@ int for_each_string_list(struct string_list *list, return ret; } +void string_list_init(struct string_list *list, int strdup_strings) +{ + list->items = NULL; + list->nr = list->alloc = 0; + list->strdup_strings = strdup_strings ? 1 : 0; +} + void string_list_clear(struct string_list *list, int free_util) { if (list->items) { diff --git a/string-list.h b/string-list.h index 4946938..07e075c 100644 --- a/string-list.h +++ b/string-list.h @@ -15,6 +15,7 @@ struct string_list #define STRING_LIST_INIT_NODUP { NULL, 0, 0, 0 } #define STRING_LIST_INIT_DUP { NULL, 0, 0, 1 } +void string_list_init(struct string_list *list, int strdup_strings); void print_string_list(const struct string_list *p, const char *text); void string_list_clear(struct string_list *list, int free_util); -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html