Prbleme SegFault opendir boucle

divx78 Messages postés 118 Statut Membre -  
kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Voila mon probléme j'ai un char ** qui contien des url(s) de dossier ce programme marche bien que je lui donne une case de mon char **
exemple :

fd = opendir(xpath[0])
il me liste bien le contenu mais dans la boucle ca segfault je ne comprend pas pourqoi
Merci de votre lumiére.

while(a < 5)
{
fd = opendir(xpath[a]);
while((lec = readdir(fd)))
{
my_putstr(lec->d_name);
my_putstr("\n");
}
closedir(fd);
a = a + 1;
}

a Bientôt.
--

La sagesse est d'être fou lorsque les circonstances en valent la peine
Configuration: Linux Suse
Firefox 2.0.0.6

2 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    while(a < 5)
    {
    fd = opendir(xpath[a]);
    while((lec = readdir(fd))) 

    Que se passe t'il dans readdir si opendir retourne NULL à ton avis?
    0
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    while(a < 5)
    {
    fd = opendir(xpath[a]);
    while((lec = readdir(fd)))
    {
    my_putstr(lec->d_name);
    my_putstr("\n");
    }
    closedir(fd);
    a = a + 1;
    } 

    Ou alors admettons que readdir(NULL) est robuste et ne plante pas mais renvoie NULL.
    Donc on rentre pas dans la boucle, mais on fait closedir(NULL);
    Idem....
    0