Re: [PATCH 4/9] switch_root: rewrite to use fstatat() and unlinkat()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/10/2009 04:42 AM, Karel Zak wrote:
> On Tue, Jun 09, 2009 at 05:32:08PM -0400, Peter Jones wrote:
>>> +	while(1) {
>>> +		struct dirent *d;
>>>  
>>> -	while ((d = readdir(dir))) {
>>>  		errno = 0;
>>> +		if (!(d = readdir(dir))) {
>>> +			if (errno) {
>>> +				printf("error reading from %s: %m\n", dirName);
>>> +				goto done;
>>> +			}
>> This needs to check if d == 0 and if d == -1 separately, or at least <= 0
>> rather than "!", or we miss actual errors if they occur.
> 
>  this is not readdir syscall -- I guess you read "man readdir" on
>  Fedora, but "man 3 readdir" is better. Yeah, we have confusing docs...
> 
>  RETURN VALUE
>         On success, readdir() returns a pointer to a dirent structure.
>         If the end  of  the directory  stream  is  reached,  NULL  is
>         returned and errno is not changed.  If an error occurs, NULL
>         is returned and errno is set appropriately.
>         

Gah, you're right, I totally misread that bit.

-- 
        Peter

AIX is Unix from the universe where Spock had a beard.
--
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux