Jonathan Nieder [off-list ref] writes:
/*
* Example:
*
* struct commit_list *list;
* struct commit_list **next = &list;
*
* next = commit_list_append(c1, next);
* next = commit_list_append(c2, next);
* *next = NULL;
* assert(commit_list_count(list) == 2);
* return list;
*
* Don't forget to NULL-terminate!
*/
I wonder if the optimization to allow omitting unnecessary NULL
termination inside a tight loop by the caller is really worth the
potential trouble, though.