X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=run-command.c;h=1101ef72378a502b1681a8e1bc306f38027974ae;hb=91583a6a8517afd76a78720d8c060d8ad9f03784;hp=f9922b9ecc8e4956e19d7143bb6cb6ef4d97abf8;hpb=f463cc5306dd25844195b167aee4e5642e3bad16;p=~andy%2Fgit diff --git a/run-command.c b/run-command.c index f9922b9ec..1101ef723 100644 --- a/run-command.c +++ b/run-command.c @@ -53,13 +53,14 @@ static void mark_child_for_cleanup(pid_t pid) static void clear_child_for_cleanup(pid_t pid) { - struct child_to_clean **last, *p; + struct child_to_clean **pp; - last = &children_to_clean; - for (p = children_to_clean; p; p = p->next) { - if (p->pid == pid) { - *last = p->next; - free(p); + for (pp = &children_to_clean; *pp; pp = &(*pp)->next) { + struct child_to_clean *clean_me = *pp; + + if (clean_me->pid == pid) { + *pp = clean_me->next; + free(clean_me); return; } }