delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/08/28/03:17:17

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:message-id:from:reply-to:to:subject
:references:in-reply-to:content-type; q=dns; s=default; b=kklZE2
L00xvgw6ztaQGs90CB9lpXl2osJRIUhNLBaqQmcvECiL31hgwJ3hRtekh8RmR/Z4
mD6knsS5Mq5hMN0Nlquh0sONqxIyVl1gqM8ilvtezK6bMlqQdywgi8FaRExJgUz7
odE9tinwJG+gS+w5YwsZmdVrVUp8NLEHL5j4s=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:message-id:from:reply-to:to:subject
:references:in-reply-to:content-type; s=default; bh=46MqFqQyE1j6
rxsATuHmH6AdOls=; b=Ja6W0fLlZ927i3rtr4oCn1+S3RRca/QfjEmyASEppa31
oY3KL8WK/WVHDekxWYpQOB3RE9BssQq/N1vyZMQO/ESeCm7aCj5BYjHdhg9xyqzA
9oPmFG7KS+4fziPgmgvZ3qLs6WFJZSUDaSitj8JzR3K6n7UnYbdr5W3LwVbXTaw=
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
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.1 spammy=netherlands, Netherlands, Three, Weird
X-HELO: lb2-smtp-cloud8.xs4all.net
Date: Wed, 28 Aug 2019 09:16:10 +0200
Message-ID: <b97e4dbe952154efc68412540514ae81@smtp-cloud8.xs4all.net>
From: Houder <houder AT xs4all DOT nl>
Reply-To: cygwin AT cygwin DOT com
To: cygwin AT cygwin DOT com
Subject: Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...
References: <bc3df101ab93c20b86c3ab7fa7d3ea4f AT xs4all DOT nl> <20190827152549 DOT GY11632 AT calimero DOT vinschen DOT de> <a47cc167b725c08e6f1c914166fabcaf AT smtp-cloud8 DOT xs4all DOT net> <3E262D05-F393-453A-9E43-B248DDE50812 AT solidrocksystems DOT com>
In-Reply-to: <3E262D05-F393-453A-9E43-B248DDE50812@solidrocksystems.com>
User-Agent: mua.awk 0.99

On Tue, 27 Aug 2019 11:44:17, Vince Rice  wrote:

> > On Aug 27, 2019, at 11:28 AM, Houder wrote:
> >
> > On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen  wrote:
> >>
> >> mkdir(2) has some special code from 2009 which drops trailing
> >> {back}slashes to perform a bordercase in mkdir Linux-compatible.
> >> This code snippet doesn't exist in rmdir(2).
> >
> > .. uhm, I must be speaking to the alter ego of Corinna V,. because
> > as far as I know, Corinna has given herself some time off ...
> >
> > Perhaps you could make an entry in her "TODO list" that the 3 lines
> > above requires some more explanation for pour souls like me.
> 
> I am not Corinna, but I read that as
> The mkdir command works because it has special code added to it to make
> it work. The rmdir command doesn't work because it doesn't have the same
> code in it.

Right, "Corinna" Number Three.

Before I sent my question to the list, I had fired up the debugger and
lured it in providing me the neccessary info:

It showed me that my input (e:\) was being "mutilated" at the start of
mkdir() in winsup/cygwin/dir.cc

Using git I had found the "suspicious-looking" commit by Eric Blake:

 - https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=52dba6a5c45e8d8ba1e237a15213311dc11d91fb
   ( Fix some POSIX-compliance bugs in link, rename, mkdir. )

--
author	Eric Blake <eblake AT redhat DOT com>	
        Sat, 26 Sep 2009 15:51:53 +0000 (15:51 +0000) <====
committer	Eric Blake <eblake AT redhat DOT com>	
        Sat, 26 Sep 2009 15:51:53 +0000 (15:51 +0000)
commit	52dba6a5c45e8d8ba1e237a15213311dc11d91fb
--

Note September 2009! (as hinted by Corinna's alter ego)

In short, neither the answer by Corinna's alter ego nor your translation
raised the level of the knowledge that I had already acquired.

Linux-compat. Really?

Who in his right mind would want to create a subdirectory e:\ on Linux?

ls -ld 'e:\'
stat 'e:\'
touch 'e:\'
rmdir 'e:\'

all refer to /drv/e # /cygdrive/e if not remapped

Only mkdir does NOT.

And I am the only one who finds this a bit odd? That why I asked: why
cannot mkdir and rmdir be symmetrical w/ respect to e:\ ?

Because of Linux? Weird.

Now I have to tell a newbie on Cygwin, that he should use

    mkdir 'e:\.' BUT rmdir 'e:\'

in order to observe the same results as the Windows equivalents do.

(yes, he should use mkdir /drv/e and rmdir /drv/e)

Tampi.

Apparently, design decisions in Cygwin must remain in the mists of
the past. Like archeology cannot tell us how our forefathers lived
in the Netherlands some three milleniums ago (The Netherlands were
flooded several times in the past : all info has gone as result of
that).

Henri


--
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