Quote Originariamente inviata da dennis87 Visualizza il messaggio
dici che nella funzione di insert devo usare
codice:
 strcpy(list -> command, new_command);
al posto di
codice:
new_node -> command = new_command;
?
Ma l'allocazione di memoria non la faccio con
codice:
new_node = malloc(sizeof(struct node));
E' dichiarato come char *command; non hai memoria allocata per i caratteri della stringa, solo per contenere un indirizzo di memoria.
Puoi risolvere in 2 modi:
codice:
new_node->command = (char *)malloc(sizeof(char)*(strlen(new_command)+1));//+1 per il terminatore '\0'
strcpy(new_node->command, new_command);
oppure cambiando la dichiarazione (più efficiente, ma devi essere sicuro della lunghezza massima)
codice:
//...
  char command[256];
//...
strcpy(new_node->command, new_command);