Snažím se napsat metodu pro odebrání prvku z LinkedLIstu. Prvek to nalezne ale při update ukazatelů to vyhodí SIGSEGV. Funkce vypadá následovně:
void pull(char *wordToRemove) {
saveWord *curr, *prev;
for (curr = head, prev = NULL; curr != NULL; prev = curr, curr = curr->next) {
if (strcmp(curr->word, wordToRemove) == 0) {
if (prev == NULL) {
printf("1:");
head = curr->next;
break;
} else if(curr->next == NULL) {
printf("2:");
prev->next = NULL;
curr = NULL;
break;
}else{
printf("3:");
prev->next = curr->next;
curr = NULL;
break;
}
}
}
}
Chybu vyhazuje tento řádek:
prev->next = curr->next;
Prosím o radu čím to bude. Dle mě by to mělo fungovat.
Díky