| delorie.com/archives/browse.cgi | search |
| 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:mime-version:message-id:from:to:subject | |
| :content-type:date:content-transfer-encoding; q=dns; s=default; b= | |
| aWQQDBSw+fdnWD7HYXTCHp15H2RNYnvKYHsboaWpccRfJu0TNXi02VDfkEPsec25 | |
| kxxiYJZzlrtdYPlxGxnH6YB0dlqVKMOtlEZMOw4D0dGS2QAGz0PXJS5jiJ1fwXDi | |
| myQmryjkgHxjAvx+6M7Q8vBwHyraoiETOp4ZNQI0MNw= | |
| 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:mime-version:message-id:from:to:subject | |
| :content-type:date:content-transfer-encoding; s=default; bh=F76t | |
| vU09RGD6yOVPEqkxIf2/OrY=; b=QncNtmpiyAqKxFW95iLn+w8r3miH+v5kPcOL | |
| UUVrfH0irB9NdYbAfDfA2Zgg63ZlKn3+14pLRQ4gFWYXv7gYHgmipRY9FbCNniz7 | |
| WOZ4eftavXR7QZR+nIZshyIYjjm+S5O/f7VvxZKTLanObAkncvsIKg3Xu7Lkfyuh | |
| 2KAV3uk= | |
| 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-Virus-Found: | No |
| X-Spam-SWARE-Status: | No, score=-7.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=sincerely |
| X-HELO: | mout.gmx.net |
| MIME-Version: | 1.0 |
| Message-ID: | <trinity-82173dac-d842-4a87-8d1f-bed9a958d178-1528793630066@3c-app-gmx-bs08> |
| From: | "Sven Eden" <sven DOT eden AT gmx DOT de> |
| To: | cygwin AT cygwin DOT com |
| Subject: | Problematic interpretion of paths starting with double slashes |
| Date: | Tue, 12 Jun 2018 10:53:50 +0200 |
| Sensitivity: | Normal |
| X-IsSubscribed: | yes |
| X-MIME-Autoconverted: | from quoted-printable to 8bit by delorie.com id w5C8s4Zw022904 |
Hello everybody,
Â
I have a problem with a script that wants to copy a file,
which has a variable paths build from various variables.
The first variable is a possible prefix, the second an
absolute path. If no prefix is needed, the first consists of
just a slash.
What I now see is the following:
--------
# 09:29:17 SEden AT CHH0711 ~ >
rm -rf /tmp/foo
# 09:29:37 SEden AT CHH0711 ~ >
mkdir -p /tmp/foo
# 09:29:42 SEden AT CHH0711 ~ >
touch /tmp/foo/bar
# 09:29:59 SEden AT CHH0711 ~ >
cp //tmp/foo/bar /tmp/foo/baz
cp: cannot stat '//tmp/foo/bar': No such file or directory
--------
This puzzled me, because this works perfectly well on every
GNU/Linux (plus WSL) system I tried. Actually it is
completely in order to double any slashes.
This behavior breaks quite some Makefiles...
I am completely aware that §4.13 of the Open Group Base
Specification Issue 7 (IEEE Std 1003.1-2017) reads:
"If a pathname begins with two successive <slash>
characters, the first component following the leading
<slash> characters may be interpreted in an
implementation-defined manner, although more than two
leading <slash> characters shall be treated as a single
<slash> character."
My question therefore is, whether the behavior can be gotten
nearer what every other GNU/Linux system does.
Maybe, if said first component can not be resolved as an smb
host, try an absolute path instead?
On any Linux system, 'stat -c "%i" / //' would
show the same inode number twice:
--------
stat -c "%2n %f %i" / //
/ 41ed 48976645948727610
// 41ed 48976645948727610
--------
On Cygwin we get:
--------
stat -c "%2n %f %i" / //
/ 41ed 4222124652325260
// 416d 18014896789143535314
--------
I have searched the cygwin mailing list, but all I could find
was some discussion about UNC paths from 1997.
So, what do you think?
Sincerely
Sven
P.S An example of a failing script line is:
https://github.com/gentoo/gentoo/blob/331976f/eclass/toolchain.eclass#L2136
--
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
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |