Re: symlinks, lstat, relative/absolute combos
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meg.abyt.es; s=google; h=domainkey-signature:from:to:subject:date:user-agent:references :in-reply-to:reply-by:x-message:mime-version:content-type :content-transfer-encoding:message-id; bh=QCdtScolfBPTnSfWkyIGzgFWVnDRfmwaGmwa9fA3/HY=; b=KjJeEzo/b2cDcZSTWjJQMtTOnlMuqhMHV6u9FNKwDx2Ch4AiC7X1+qJsj67xEPR7+f tMgLnMOWQ2AwHOB9w9mn6dFvLV+Niuj2PcY6nc/4B42zH/oQM/KL29VKKqyWVMbI6+bY //PjcHI0xLZYUrCXWqjMD6GVbyAXZd7AoxrL4= Domainkey-signature: a=rsa-sha1; c=nofws; d=meg.abyt.es; s=google; h=from:to:subject:date:user-agent:references:in-reply-to:reply-by :x-message:mime-version:content-type:content-transfer-encoding :message-id; b=HCsVVnjbWBNJDAkxI92A8QwN3iwTu0kzQpoS7iOrPQvUom8eJA6bixZhd9R7rnsxha KceLAGgmNrD7E7rNCemWAgVhlsebdjaJMvlt4tNgOqJchUR0GWML3Wqyhhx95eBFDeG1 +7Cm1RIWrKNpE5O3Katf3N7Sh7tUD/e7aknJw= Reply-by: Wed, 19 Jan 2011 16:20:00 -0600 User-agent: KMail/1.13.5 (Linux/2.6.32-30-server; KDE/4.4.5; x86_64; ; ) On Tuesday 22 March 2011 13:25:40 Steven Abner wrote:
On Mar 22, 2011, at 2:18 PM, Tilghman Lesher wrote:
On Tuesday 22 March 2011 13:03:15 James Peach wrote:
On 22 March 2011 06:08, Steven Abner <pheonix@zoomtown.com> wrote:
Hi ,
I was working on Mac symlinks(unix style) and encountered things I
couldn't find information on through web searches. I was thinking these are Mac specific flags and meanings, so with that intro: when you lstat() a symlink, lstat states that st_size will be the size of the pathname for the link, what does it mean when it is a link with st_size = 0, yet it does have a link?
I believe that the st_size of a symlink is a filesystem implementation detail. You should not rely on it for anything serious.
That may be, but it's still in POSIX: http://pubs.opengroup.org/onlinepubs/009695399/functions/lstat.html
I just verified on my own system that it is working correctly for an HFS+ filesystem. The OP may wish to verify his own code is working correctly by comparing his output to that of 'stat -x {file}'
I had only found one instance so far where the Mac returned st_size = 0. I didn't wish to assume anything! The case was in testing "/dev/stdin" which has relative link to "fd/0".
Yep, probably need to report that to the Darwin team as a bug. Just verified that it reports correctly on both FreeBSD and Linux. If you don't, I will, but the report needs to be clear that the determining specification is POSIX, and this is needed for POSIX compliance. -- Tilghman _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Tilghman Lesher