Re: [PATCH 2/4] make filepairs detachable
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Jun 30, 2006, 07:42 UTC
- Message-ID
- <81b0412b0606300042r24931d9i5fad0e849b8de84c@mail.gmail.com>
- In-Reply-To
- <7vy7vfmoit.fsf@assigned-by-dhcp.cox.net>
On 6/30/06, Junio C Hamano <junkio@cox.net> wrote:
Show 8 quoted lines
> > > Actually, just make sure diff_flush does not crash for diff queue > > entries which were cleared. > > Somehow I really feel uneasy about this one. I think it is the > responsibility of the one who mangles the queue to adjust the > entries and count consistent. >
That's what I get after being exposed to double-linked lists for too long: I begin to think it's fine to take whatever I want. The pairs are actually exactly what I need, so I take them. I think I just have to encapsulate it nicely, i.e.:
struct diff_filepair *diff_queued_detach(int pos)
{
struct diff_filepair *pair = NULL;
if (pos < diff_queued_diff.nr) {
diff_queued_diff.queue[pos];
if (diff_queued_diff.nr - pos > 1)
memmove(pair->queue + pos, pair->queue + pos + 1,
diff_queued_diff.nr - pos - 1);
diff_queued_diff.nr--;
}
return pair;
}BTW, is there any chance we get the struct diff_filepair's double-linked? They don't seem to be sorted. Will increase the memory footprint, though.