Commit 64632922 authored by Rémi Duraffort's avatar Rémi Duraffort

Playlist: Simplification and fix CID 151

parent ca4fadaa
...@@ -481,41 +481,40 @@ playlist_item_t *GetNextItem( playlist_t *p_playlist, ...@@ -481,41 +481,40 @@ playlist_item_t *GetNextItem( playlist_t *p_playlist,
playlist_item_t *p_root, playlist_item_t *p_root,
playlist_item_t *p_item ) playlist_item_t *p_item )
{ {
playlist_item_t *p_parent; /* If the item is NULL, return the firt child of root */
int i; if( p_item == NULL )
{
if( p_root->i_children > 0 )
return p_root->pp_children[0];
else
return NULL;
}
/* Node with children, get the first one */ /* Node with children, get the first one */
if( p_item && p_item->i_children > 0 ) if( p_item->i_children > 0 )
return p_item->pp_children[0]; return p_item->pp_children[0];
if( p_item != NULL ) playlist_item_t* p_parent = p_item->p_parent;
p_parent = p_item->p_parent; for( int i = 0 ; i < p_parent->i_children ; i++ )
else
p_parent = p_root;
for( i= 0 ; i < p_parent->i_children ; i++ )
{ {
if( p_item == NULL || p_parent->pp_children[i] == p_item ) if( p_parent->pp_children[i] == p_item )
{ {
if( p_item == NULL ) // Return the next children
i = -1; if( i + 1 < p_parent->i_children )
return p_parent->pp_children[i+1];
if( i+1 >= p_parent->i_children ) // We are the least one, so try to have uncles
else
{ {
/* Was already the last sibling. Look for uncles */
PL_DEBUG2( "Current item is the last of the node," PL_DEBUG2( "Current item is the last of the node,"
"looking for uncle from %s", "looking for uncle from %s",
p_parent->p_input->psz_name ); p_parent->p_input->psz_name );
if( p_parent == p_root ) if( p_parent == p_root )
{ {
PL_DEBUG2( "already at root" ); PL_DEBUG2( "already at root" );
return NULL; return NULL;
} }
return GetNextUncle( p_playlist, p_item, p_root ); else
} return GetNextUncle( p_playlist, p_item, p_root );
else
{
return p_parent->pp_children[i+1];
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment