This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Bogue des bibliotheques C sous LINUX


Bonjour,

J'utilise la mandrake v8.0 .

Je suis en train d'écrire un programme qui gere les
repertoires et j'ai constaté que la macro S_ISDIR()
ne fonctionne pas correctement .
En regardant le fichier /usr/include/sys/stat.h ,
j'ai vu les deux lignes suivantes :

#define __S_ISTYPE(mode, mask)  (((mode) & __S_IFMT)
== (mask))

#define S_ISDIR(mode)    __S_ISTYPE((mode),
__S_IFDIR)


Or l'expression "mode & __S_IFMT" masque certains et
en particulier on n'a pas forcement mode & __S_IFMT
== __S_IFDIR .

Correctif à faire :
#define __S_ISTYPE(mode, mask)  (((mode) & (mask)) ==
(mask))

Le bogue est identique pour les macros suivantes !
S_ISCHR()
S_ISBLK()
S_ISREG()
S_ISFIFO()
S_ISLNK()
S_ISSOCK()


 
______________________________________________________________________________
ifrance.com, l'email gratuit le plus complet de l'Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]