From: Eric Sunshine Date: Sun, 13 Sep 2015 16:46:48 GMT Subject: Re: [PATCH v4 3/8] branch: roll show_detached HEAD into regular ref_list Message-ID: In-Reply-To: On Sun, Sep 13, 2015 at 8:12 AM, Matthieu Moy wrote: > Karthik Nayak writes: > >> @@ -679,15 +682,20 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru >> if (verbose) >> maxwidth = calc_maxwidth(&ref_list, strlen(remote_prefix)); >> >> - qsort(ref_list.list, ref_list.index, sizeof(struct ref_item), ref_cmp); >> + index = ref_list.index; >> + >> + /* Print detached HEAD before sorting and printing the rest */ >> + if (detached && (ref_list.list[index - 1].kind == REF_DETACHED_HEAD) && >> + !strcmp(ref_list.list[index - 1].name, head)) { >> + print_ref_item(&ref_list.list[index - 1], maxwidth, verbose, abbrev, >> + 1, remote_prefix); >> + index -= 1; >> + } > > I think Eric already mentionned it, but I don't remember the conclusion > and can't find it in the archives. Wouldn't it be cleaner to actually > remove the detached head from the array (do "ref_list.index -= 1" > instead of "index -= 1", and possibly free() what needs to be freed? I think Michael Haggerty mentioned something along those lines...