This is shorter, idiomatic, and it means the compiler does not get confused about whether our "e" pointer is valid, letting us drop the "e = e" hack. Signed-off-by: Jeff King <peff@xxxxxxxx> --- And it fixes an instance of Linus's "people do not understand pointers" from here: http://meta.slashdot.org/story/12/10/11/0030249/linus-torvalds-answers-your-questions fast-import.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/fast-import.c b/fast-import.c index c2a814e..583a439 100644 --- a/fast-import.c +++ b/fast-import.c @@ -2613,7 +2613,7 @@ static struct hash_list *parse_merge(unsigned int *count) static struct hash_list *parse_merge(unsigned int *count) { - struct hash_list *list = NULL, *n, *e = e; + struct hash_list *list = NULL, **tail = &list, *n; const char *from; struct branch *s; @@ -2641,11 +2641,9 @@ static struct hash_list *parse_merge(unsigned int *count) die("Invalid ref name or SHA1 expression: %s", from); n->next = NULL; - if (list) - e->next = n; - else - list = n; - e = n; + *tail = n; + tail = &n->next; + (*count)++; read_next_command(); } -- 1.8.2.rc2.8.g2161951 -- 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