08/10/26 23:48:42
>>774
んー、では 64bit がらみですか?それとも <sys/stat.h> の内容が変わったのか?
ちょっと調べてみましたが、最近は stat(2) 返り値の st_mode の判別方法として、
if (S_ISBLK(infobuf.st_mode))
printf("block device.\n");
というマクロが定義されているようですね。
私は、
if ((infobuf.st_mode & S_IFMT) == S_IFBLK)
printf("block device.\n");
しかしらなかったのですが。
ひきつづき識者のコメントをいただけたら、と思います。