FELiYCORA
1st Folding then Sex
Boas
é o seguinte, preciso de retirar elementos de uma lista simplesmente ligada. ando aki as voltas e já tentei de tudo e dá-me sempre ou um segmentation fold ou um fatal error. o mais eskesito é que ja mudei bastante o codigo e acontece sempre o mesmo: apaga da lista todas as entradas necessarias menos a última...
Pf ajudem
obrigado
é o seguinte, preciso de retirar elementos de uma lista simplesmente ligada. ando aki as voltas e já tentei de tudo e dá-me sempre ou um segmentation fold ou um fatal error. o mais eskesito é que ja mudei bastante o codigo e acontece sempre o mesmo: apaga da lista todas as entradas necessarias menos a última...
Código:
void executa_remocao (COMP **base)
{
COMP *comp;
COMP *aux;
COMP *anterior;
comp = *base;
anterior = *base;
while(comp != NULL)
{
aux = NULL;
if(comp->Inst == -1)
{
aux = comp;
if(comp == *base) /* SE O COMPONENTE A REMOVER FOR O PRIMEIRO DA LISTA */
{
*base = (*base)->prox;
}
else
{
while((anterior->prox)->prox != NULL)
{
if(anterior->prox == comp)
{
anterior->prox = comp->prox;
break;
}
else
anterior = anterior->prox;
}
}
}
comp = comp->prox;
if(aux != NULL)
free(aux);
}
}
Pf ajudem
obrigado