I want to make a method that deletes elements called "archivo" from a list if cantLineas=0, the method deletes everything just right but I can't make it to put the pointer to NULL when the list has been deleted completely. Here is the code I've written:
struct archivo
{
char * nombre;
int cantLineas;
archivo * sig;
};
void borrarArchivos(archivo * listaArchivos){
archivo * ant=NULL;
while(listaArchivos!=NULL){
if(listaArchivos->cantLineas==0){
if(ant!=NULL){
ant->sig=listaArchivos->sig;
delete listaArchivos;
listaArchivos=ant->sig;
}else{
ant=listaArchivos;
listaArchivos=listaArchivos->sig;
delete ant;
ant=NULL;
}
if(ant==NULL && listaArchivos==NULL){
listaArchivos=NULL;
}
}else{
ant=listaArchivos;
listaArchivos=listaArchivos->sig;
}
}
}