Cześć.
Jak mogę zamienić funkcje remove_list na funkcję rekurencyjną?
void remove_list(struct list_node **list_pointer)
{
if(*list_pointer)
{
struct list_node *start = *list_pointer;
do
{
struct list_node *next = (*list_pointer)->next;
free(*list_pointer);
*list_pointer = next;
}
while(*list_pointer!=start);
*list_pointer = NULL;
}
}
void removeList(struct list_node **list_pointer)
{
struct list_node *start=(*list_pointer);
if(NULL!=(*list_pointer))
{
do
{
removeList(&(*list_pointer)->next);
free(*list_pointer);
}
while((*list_pointer)!=start);
}
}
Próbowałem tak jak jest pokazane w funkcje removeList, ale jest błąd pętla sie nie kończy.