+playlist_item_t *playlist_RecursiveFindLast(playlist_t *p_playlist,
+ playlist_item_t *p_node );
+
+/*****************************************************************************
+ * Helper Function for NextItem
+ *****************************************************************************/
+
+playlist_item_t *playlist_RecursiveFindLast(playlist_t *p_playlist,
+ playlist_item_t *p_node )
+{
+ int i;
+ playlist_item_t *p_item;
+ for ( i = p_node->i_children - 1; i >= 0; i-- )
+ {
+ if( p_node->pp_children[i]->i_children == -1 )
+ return p_node->pp_children[i];
+ else if(p_node->pp_children[i]->i_children > 0)
+ {
+ p_item = playlist_RecursiveFindLast( p_playlist,
+ p_node->pp_children[i] );
+ if ( p_item != NULL )
+ return p_item;
+ }
+ else if( i == 0 )
+ return NULL;
+ }
+ return NULL;
+}
+