遇到inode::i_mode的问题

 

uclinux内核加载rootfs.initramfs后对每一个dentry对应的inode进行测试,发现一个无法理解的东西:

下面的代码用于判断一个struct dentry是否目录:

         if(S_ISDIR(pEntry->d_inode->i_mode))

         {

              IsDir = 1;

         }

结果发现/dev/目录下的设备,如/dev/console/dev/nullS_ISDIR测试都是通过的,还有/lib/目录下的文件测试也是通过的,如/lib/libutil.so.0,这个显然是一个文件,为什么S_ISDIR的结果会不为零呢?

 

 

近日,我家6岁的小姑娘参加了第六届POP全国少儿英语风采大赛,拉票进行中(2011-6-15前)。

请帮忙点击新东方网站的链接:

http://popdasai.xdf.cn/toupiao.php?do=space&uid=4237

投她一票,谢谢!

你可能感兴趣的:(struct,测试)