• [^] # Re: Et sans getgr[ug]id ?

    Posté par . En réponse au message Un probleme sur mon code. Évalué à 2.

    "faut-il le pathname en entier depuis la racine ?"

    on y vient ! on y vient !
    Effectivement, ton souci vient de l'appel à stat.
    prenons l'exemple ou tu appelles ton prog sur /etc à partir d'un autre répertoire

    Du début à la fin, readdir travaille sur /etc
    par contre, stat fonctionne avec des chemins relatifs ou absolus.

    Du coup, pour les entrées . et .., chance (façon de parler, c'est pas vraiment de la chance en fait), stat arrive à les trouver dans le répertoire local et te renvoie les droits de . et de .. du répertoire courant => ce qui explique tes problèmes de users faux sur . et ..

    à partir de là, readdir va continuer à te lister les fichiers de /etc, mais comme tu appelles stat directement avec leur nom, stat les cherche dans le répertoire local, et, ne les trouvant pas, te crache une erreur ENOENT.

    il suffit de corriger ton appel à stat pour "stater" les fichiers dans leur répertoire et ça devrait être bon.

    ouala :-)