passage paramétres + copie tableaux
Bonjour voila j'ai une liste chainée:
Code:
1 2 3 4 5 6 7 8 9
|
struct listeClients
{
/* données */
int socket;
char pseudo[256];
/* chainage */
struct listeClients * suivant ;
}; |
avec sa fonction ajouter:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
struct listeClients * ajoutListe(struct listeClients *l, int sock, char *nom)
{
/* allocation du noeud */
struct listeClients *nouveau = malloc (sizeof *nouveau);
/* si tout c'est bien passe : */
if (nouveau != NULL) {
/* mise a jour des champs : */
/* donnees */
nouveau->socket = sock;
memcpy(nouveau->pseudo, nom, strlen(nouveau->pseudo));
/* chainage par defaut */
nouveau->suivant = NULL;
/* chainage */
if (l == NULL){
/* c'est le premier : */
l = nouveau;
}
else {
/* on cherche le dernier noeud */
struct listeClients *p = l;
while (p->suivant != NULL) {
/* pointer sur le suivant */
p = p->suivant;
}
/* modification du chainage */
p->suivant = nouveau;
}
}
return l;
} |
à cette liste je veux y ajouter un tableau de caractéres construit comme ceci:
Code:
1 2 3 4 5
|
char pseudo[256];
nbytes=recv(newfd,pseudo,sizeof(pseudo)-1,0);
pseudo[nbytes]=0;
ajoutListe(l, newfd, pseudo); |
mais il n'y a rien à faire j'ai un "segmentation fault" et je ne vois pas mon erreur...si qqun pouvait m'orienter
passage paramétres + copie tableaux
pourtant ma liste etait bien modifiée, moi et les pointeurs de tte maniére...
même avec ces modifications j'ai tjrs la même erreure...
apparemment c'est une erreure d'allocation mémoire mais je ne vois pas pourquoi