Le 04/09/2016 à 14:20, Leon Romanovsky a écrit :
On Sat, Sep 03, 2016 at 07:33:29AM +0200, Christophe JAILLET wrote:
Calling 'list_splice' followed by 'INIT_LIST_HEAD' is equivalent to
'list_splice_init'.
It is not 100% accurate

list_splice(y, z)
INIT_LIST_HEAD(y)

==>

if (!list_empty(y))
      __list_splice(y, z, z>next);
INIT_LIST_HEAD(y)

and not

if (!list_empty(y)) {
      __list_splice(y, z, z>next);
      INIT_LIST_HEAD(y)
}

as list_splice_init will do.

You are right but if you dig further you will see that calling INIT_LIST_HEAD on an empty list is a no-op (AFAIK). And if this list was not already correctly initialized, then you would have some other troubles.

CJ

Reply via email to