X-Spam-Check-By: sourceware.org Date: Sat, 4 Feb 2006 09:28:08 -0500 (EST) From: Igor Peshansky Reply-To: cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com Subject: Re: cvs is broken/cygwin-bug in mkdir()? In-Reply-To: <20060204052957.GA19364@trixie.casa.cgf.cx> Message-ID: References: <20060204052957 DOT GA19364 AT trixie DOT casa DOT cgf DOT cx> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: 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 On Sat, 4 Feb 2006, Christopher Faylor wrote: > On Fri, Feb 03, 2006 at 11:44:22PM -0500, Igor Peshansky wrote: > >Yes. Looks like Cygwin is too hasty in assigning the error number: Linux > >only returns ENOENT if the directory doesn't already exist, but Cygwin > >will always return it for a trailing dot argument. The same with rmdir, > >where it would always return EINVAL, even if the directory doesn't exist > >(in which case Linux returns ENOENT). FWIW, POSIX only specifies an > >action for rmdir() on a trailing dot (EINVAL). > > rmdir doesn't always return EINVAL. > > bash-3.00$ ./rmdir qwer > -1 = rmdir ("qwer") > rmdir: No such file or directory > bash-3.00$ ./rmdir qwer/. > -1 = rmdir ("qwer/.") > rmdir: Invalid argument I meant in the case of a trailing dot. On Linux, if directory FOO doesn't exist, "rmdir FOO/." returns ENOENT. The fix is pretty much the same as what you did for mkdir, except that EEXIST is replaced by EINVAL... Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte." "But no -- you are no fool; you call yourself a fool, there's proof enough in that!" -- Rostand, "Cyrano de Bergerac" -- 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/