delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/06/23/14:20:45

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: Yes, hits=6.0 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,FSL_RU_URL,KAM_THEBAT,TW_YG
X-Spam-Check-By: sourceware.org
Date: Thu, 23 Jun 2011 22:06:05 +0400
From: Andrey Repin <anrdaemon AT freemail DOT ru>
Reply-To: Andrey Repin <cygwin AT cygwin DOT com>
Message-ID: <1291997550.20110623220605@mtu-net.ru>
To: Marco atzeri <marco DOT atzeri AT gmail DOT com>, cygwin AT cygwin DOT com
Subject: Re: Strange cygpath behavior.
In-Reply-To: <4E035F46.7000207@gmail.com>
References: <73619422 DOT 20110621092310 AT mtu-net DOT ru> <4E00321A DOT 30105 AT lysator DOT liu DOT se> <92658329 DOT 20110623165230 AT mtu-net DOT ru> <4E03492D DOT 40109 AT gmail DOT com> <1144668147 DOT 20110623190534 AT mtu-net DOT ru> <4E035F46 DOT 7000207 AT gmail DOT com>
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
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

Greetings, Marco atzeri!

> On 6/23/2011 5:05 PM, Andrey Repin wrote:
>> Greetings, Marco atzeri!
>>
>> Cygwin, to my best understanding, is supposed to transparently accept native
>> Windows paths.

> No, cygwin expects to receive POSIX/Unix paths

> $ cygpath -h
> [cut]
>    -u, --unix            (default) print Unix form of NAMEs 
> (/cygdrive/c/winnt)

> so cygpath -u
> expects to receive a Windows path and convert it in a unix one.

That's your assumption. Which is not necessarily true. (Unless you're author
of cygpath, in which case you have full authority to tell me what it is
supposed to be.)
Man page and reference card both do not specify the exact argument format,
only the intended result format.
And just to be clear, windows in the core don't see a difference between the
path in format of "C:/whatever/..." or "C:\whatever\...".
This behavior is very, very old. Even older than Windows itself, if you know,
what "INT 21h" means.

>  From your example:
> cygpath -u \\\\DAEMON1\\anrdaemon\\.profile
>   /c/DAEMON1/anrdaemon/.profile

> the argument is an escaped windows network path
> and the outcome is the Unix equivalent

Not true for the "outcome" part.

<stdout>:cygpath -w "/c/DAEMON1/anrdaemon/.profile"
C:\DAEMON1\anrdaemon\.profile

Which is far from original network path.

> As Corinna explained:
> $ echo \\\\DAEMON1\\anrdaemon\\.profile
> \\DAEMON1\anrdaemon\.profile

I already said that I'm sorry, that I forgot to mention what seems to be
critical bit of information.

> By the way resetting "cygdrive" is not a good idea,
> it is better to obtain

To tell you, that was actually a good idea for me. I don't have an eternity to
type "/cygwhatever" every time I want to address another drive. So the idea
to map cygdrive to "/" was actually very handy, thanks to this mailing list
helping to finish and polish it.


--
WBR,
 Andrey Repin (anrdaemon AT freemail DOT ru) 23.06.2011, <20:58>

Sorry for my terrible english...


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