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 Subject: Re: [1.7] rename/renameat error Date: Wed, 9 Sep 2009 16:36:39 +0000 (UTC) Lines: 24 Message-ID: References: <4AA52B5E DOT 8060509 AT byu DOT net> <20090907192046 DOT GA12492 AT calimero DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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: List-Subscribe: List-Archive: List-Post: List-Help: , 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 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