delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/09/09/12:37:15

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Eric Blake <ebb9 AT byu DOT net>
Subject: Re: [1.7] rename/renameat error
Date: Wed, 9 Sep 2009 16:36:39 +0000 (UTC)
Lines: 24
Message-ID: <loom.20090909T183010-83@post.gmane.org>
References: <4AA52B5E DOT 8060509 AT byu DOT net> <20090907192046 DOT GA12492 AT calimero DOT vinschen DOT de> <loom DOT 20090909T005422-847 AT post DOT gmane DOT org>
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

Eric Blake <ebb9 <at> byu.net> writes:

> > > POSIX states that rename must fail with EINVAL if either argument ends in
> > > '.' or '..' (after trailing slashes are stripped).  Cygwin 1.7 is
> > > detecting this situation (which is a step up from 1.5 which did the rename
> > > anyways), but sets errno to EBUSY instead of EINVAL.
> > 
> > Thanks for catching.  Feel free to fix the rename function accordingly.
> 
> OK, I'll look into it (I don't know how large the patch will be, yet).

And link("a","f/.") should not create "f" as a regular file, either.  I'm still 
looking at where to patch things.

Also, we currently allow link("a","b") on FAT, but it might be nicer to fail 
with EPERM on file systems where hard links are not supported, to match Linux 
behavior (portable programs, like autoconf, already have fallbacks to perform 
cp if linking fails, but the copy should be done by the caller, not by link() 
itself).

-- 
Eric Blake




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

- Raw text -


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