Buongiorno sono alle prese con questa funzione che cancella il record trovato nella lista , ora noto un problema, cancella il record solo se io inserisco il titolo quindi il primo campo della struttura), mi chiedevo in che modo fosse possibile, senza aggiungere un altra identica funzione eliminare il record inserendo l'author.
bib_p delete_record(bib_p head, char key[])
{
bib*temp, *prev, *t;
int found =0;
if(head==NULL)
return head;
if(strcmp(head->title,key)==0)
{
temp=head;
head=head->next;
free(temp);
return(head);
}
temp=head->next;
prev= head;
while(temp!= NULL && found ==0)
{
if( strcmp(temp->title,key)==0)
{
found =1;
}
else
{
prev= temp;
temp=temp->next;
}
}
if(found!=0)
{
//il record è presente
prev->next = temp->next;
free(temp);
}
return head;