delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/06/26/10:46:56

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Eric Blake <ebb9 AT byu DOT net>
Subject: Re: Problem with stat
Date: Tue, 26 Jun 2007 14:10:55 +0000 (UTC)
Lines: 26
Message-ID: <loom.20070626T160440-648@post.gmane.org>
References: <46808EA8 DOT 2030202 AT pacific DOT net DOT sg> <4680DD73 DOT 8090300 AT sh DOT cvut DOT cz> <4680E3A0 DOT 3020508 AT pacific DOT net DOT sg> <4680FE40 DOT 7010102 AT byu DOT net> <46810D24 DOT 9000303 AT pacific DOT net DOT sg> <46810FAA DOT 5050508 AT byu DOT net> <86zm2mdfox DOT fsf AT lola DOT quinscape DOT zz> <468112F2 DOT 10802 AT byu DOT net> <86vedade9q DOT fsf AT lola DOT quinscape DOT zz>
Mime-Version: 1.0
User-Agent: Loom/3.14 (http://gmane.org/)
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

David Kastrup <dak <at> gnu.org> writes:

> >> fstat, yes.  But shouldn't stat be able to report S_ISLNK on a broken
> >> link?
> >
> > No.  It must fail with ENOENT.
> > http://www.opengroup.org/onlinepubs/009695399/functions/stat.html
> 
> No information there.  "component of a path" has nothing to do with
> symlink resolution.
> 

"If the named file is a symbolic link, the stat() function shall continue 
pathname resolution using the contents of the symbolic link, and shall return 
information pertaining to the resulting file if the file exists."

In other words, if file is a broken symlink, symlink resolution MUST take 
place, at which point, the brokenness of the symlink means that stat() MUST 
fail with ENOENT because a component of the path does not exist.  Cygwin is 
correct here, as is Linux.

-- 
Eric Blake





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019