ehm.....
è un po' strano da spiegare...
ma di fatto la concatenazione non c'entra assolutamente nulla con il segmentation fault, solo che non capisco xke si verificava anche quando le facevo...
vediamo se riesco a farvi capire dove stava l'errore
ho questa funzione
che crea un nodo di una lista doppiamente linkata...codice:LinkedList * createNode(void * data) { LinkedList * l = (LinkedList *) malloc(sizeof (LinkedList)); if (l != NULL) { l->data = data; } return l; }
next e prev io non li inizializzavo a null, e quindi hanno devi valori casuali...
quando io distruggo la lista, il test di l->right != NULL aveva successo e voleva liberare un'area di memoria proibita...
però questo si verificava (e non so perché) in coincidenza della doppia concatenazione
mettendo
l->next = l->prev = NULL;
alla fine di quella funzione tutto si è risolto