From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6723 invoked by alias); 9 Sep 2009 16:37:09 -0000 Received: (qmail 6671 invoked by uid 22791); 9 Sep 2009 16:37:08 -0000 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 Received: from lo.gmane.org (HELO lo.gmane.org) (80.91.229.12) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 Sep 2009 16:37:04 +0000 Received: from list by lo.gmane.org with local (Exim 4.50) id 1MlQAG-0002Vi-IQ for cygwin@cygwin.com; Wed, 09 Sep 2009 18:37:00 +0200 Received: from l3-128-170-36-102.l-3com.com ([128.170.36.102]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 09 Sep 2009 18:37:00 +0200 Received: from ebb9 by l3-128-170-36-102.l-3com.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 09 Sep 2009 18:37:00 +0200 To: cygwin@cygwin.com From: Eric Blake Subject: Re: [1.7] rename/renameat error Date: Wed, 09 Sep 2009 16:37:00 -0000 Message-ID: References: <4AA52B5E.8060509@byu.net> <20090907192046.GA12492@calimero.vinschen.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@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2009-09/txt/msg00208.txt.bz2 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