Possible problem with readdir() and/or lstat()
- Subject: Possible problem with readdir() and/or lstat()
- From: Jeff Sparks <email@hidden>
- Date: Fri, 30 Mar 2007 13:43:14 -0700 (PDT)
- Delivered-to: email@hidden
- Delivered-to: email@hidden
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=tKIz4WgQ1AFIp0XXIPgTL1/M19XcJgRGxZ2uzCmV7rkdKcvEKvQKsYYdm8+/x8MHuDo8zCY5qWwBKWXlYQTXGp7x6Q7ux8GsQwbgac2Bcw4LctCADL21DKO7twvTcfGWDaoFy1G+Mv/hjKDgMAU/8aG1r9LNPg33zAxcvyn/qu8=;
% cat test.c
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
#include <assert.h>
int main( int argc, char** argv )
{
DIR* dir ;
struct dirent* entry ;
struct stat buf ;
assert(argc == 2) ;
dir = opendir(argv[1]) ;
assert(dir != 0) ;
while( (entry = readdir(dir)) != 0 )
{
lstat(entry->d_name, &buf) ;
printf("name: %s --- S_ISDIR: %d\n",
entry->d_name,
S_ISDIR(buf.st_mode)) ;
}
return 0 ;
}
% gcc test.c -o test
% file *
file1: ASCII text
file2: ASCII text
somedir: directory
test: Mach-O executable i386
test.c: ASCII C program text
% ./test .
name: . --- S_ISDIR: 1
name: .. --- S_ISDIR: 1
name: file1 --- S_ISDIR: 0
name: file2 --- S_ISDIR: 0
name: somedir --- S_ISDIR: 1
name: test --- S_ISDIR: 0
name: test.c --- S_ISDIR: 0
% file somedir/*
somedir/file3: ASCII text
somedir/file4: ASCII text
somedir/somedir2: directory
% ./test somedir
name: . --- S_ISDIR: 1
name: .. --- S_ISDIR: 1
name: file3 --- S_ISDIR: 1
name: file4 --- S_ISDIR: 1
name: somedir2 --- S_ISDIR: 1
Note that file3 and file4 are not directories.
____________________________________________________________________________________
Need Mail bonding?
Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.
http://answers.yahoo.com/dir/?link=list&sid=396546091
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-userlevel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-userlevel/email@hidden
This email sent to email@hidden
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.