On Tue, May 07, 2013 at 12:14:59PM -0300, Lucas De Marchi wrote: > On Tue, May 7, 2013 at 10:54 AM, Yang Chengwei <chengwei.yang@xxxxxxxxx> wrote: > > Hi List, > > > > I just found that there are some minor issues in kmod iternal list > > implementation implemented by libkmod-list.c. > > > > Say > > 1. list_node_append() is identical with list_node_insert_before(), > > so somehow the list_node_append() in fact does "prepend" operation. > > To append to a circular list, you insert it *before* the first node. > So what's wrong here? Yeap, it's definitely right. I was misunderstanding. :-( > > > > > 2. just the same as list_node_append(), kmod_list_append() which > > invokes the former just do "prepend" operation rather than "append". > > like I said, it's expected, since it's circular. kmod_list_append() > expect you to pass the head of the list, so to append to the list you > prepend to the first node, but you don't return it as the new head > unless it's the first one - check the return code. > > > > > I'd like to fix these internal APIs to do the operation suggested by its > > name like > > 1. drop list_node_append() > > 2. call list_node_insert_after() to do "append" operation > > 3. call list_mode_insert_before() to do "prepend" operation > > > > Since the list here is circular linked, so I think these changes should > > not break things except the test cases. > > > > Any comments are appreciated. > > Are you analyzing the source code or are you seeing a real problem? Relax, no real issue found. > It'd be nice to write a small test showing the problem - you can use So I think it's not necessary to add a dedicate test for list, the others somehow use the list, like modinfo test. -- Thanks, Chengwei > the testsuite for this... take test-alias as an example (i.e. you need > to link to the private lib). > > regards > Lucas De Marchi
Attachment:
signature.asc
Description: Digital signature