Problem jest tego typu że próbuję usunąć z listy jedno kierunkowej wszystkie wystąpienia wartości x w tej liście mam coś takiego i nie dział proszę o pomoc kompilator to przepuścił ale później się zbuntował.
Cały program w załączniku
====To jest ta funkcja===
wsk usun_wszystkie_wskazane_rec(wsk *l,int y)
{
wsk usun;
if((*l)==NULL) return ;
if((*l)->x != y) return usun_wszystkie_wskazane_rec((*l)->nast,y);
if((*l)->x == y){
usun=*l;
(*l)=usun_wszystkie_wskazane_rec((*l)->nast,y);}
free(usun);
return l;
}