delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/02/04/09:28:20

X-Spam-Check-By: sourceware.org
Date: Sat, 4 Feb 2006 09:28:08 -0500 (EST)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
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: <Pine.GSO.4.63.0602040925070.3425@access1.cims.nyu.edu>
References: <ds158s$vfk$1 AT sea DOT gmane DOT org> <Pine DOT GSO DOT 4 DOT 63 DOT 0602032230020 DOT 3425 AT access1 DOT cims DOT nyu DOT edu> <20060204052957 DOT GA19364 AT trixie DOT casa DOT cgf DOT cx>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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

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/

- Raw text -


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