Prbleme SegFault opendir boucle

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. Modérateur
    while(a < 5)
    {
    fd = opendir(xpath[a]);
    while((lec = readdir(fd))) 

    Que se passe t'il dans readdir si opendir retourne NULL à ton avis?
    1. Modérateur
      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....