I'm really confused by this email, so let me see if I understood this properly. What you mean to say is as follows: On Nov 9, 2007 5:13 AM, Nagy Gabor <ngaba@bibl.u-szeged.hu> wrote:
No. I meant that removing the first node with alpm_list_remove_node will create a "->next circle" now, because node->prev always != NULL.
A "->next circle" is what? A circular list in the forward/next direction? "removing the first node" meaning the first node in the list (head node)? the first node found? I'd like to fix this but I really have no idea what you mean - I'm not trying to be an ass, I just don't get it.
1. /* break our reverse circular list */ will corrupt the input list without restoring
To be clear, line 459 is what you mean? Is this what you intended to say: Setting the head node's ->prev point to NULL corrupts the passed in list ?
2. files = alpm_list_reverse(files) in your remove.c.diff is a memleak.
This one I understand. It has real code and a concise explanation of the problem. Thanks