www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/06/11/19:03:03

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 55BN33QV4090728
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 55BN33QV4090728
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=pigWXS8y
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5611739960E2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1749682981;
bh=k9umwX2i/6Pd/5Fgzl+JnRBAaYDbcMLw1bb7xwBgEZk=;
h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=pigWXS8yA+5TuqFqJVf4oSJVUOgXn8RJQFA7cggMXxsA+6bJGwkTcFWG/V0GVAQZ0
eBt/cWDMLRYFxF6eToS53IIzqLnlEIUhwFKDoARyPpjQP/3tu2ian9wdGDS7/eqwti
PTMhHov3X3sC3loP9a1Tb4R8g3jrS8JsOcx6L4js=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 048C03858CDA
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 048C03858CDA
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749682913; cv=none;
b=s3qqcyENdy5ifU98WrVWklQTDWeSiaVPFsUi2Ndqm1Mq1toY5cImfW8zcc1c6FdW8SVw7gthypq5GxfyAseNsukQ/ThR6oFJgVZ0oS0bUhr+NcYspD40MNHyeR+UsF7WJjmj0Wp4KBe/NAIH87lFYmFZIQ8li7/nWBY3QIqhpgk=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1749682913; c=relaxed/simple;
bh=35cYCiaGNCOGPY47pX3KR7ar51WlX16OdY4xxW2J92U=;
h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version;
b=lHlvHsXgWbRt9MT//pKN1EW6xkcDT9oak1MPeHzLGLVPQ+LKr/v8oevMKX9rDhL+2CagplR+4uNGvG8dg4DmQivX/YRoNrWb148ZGaTnx4Hvf3uGMNd+UZ5InEnZQLUB7J5C8aBAaq3GRPvlo+qbJ9tPaLtiy5YSBDmSr5t4fZs=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 048C03858CDA
Date: Wed, 11 Jun 2025 16:01:51 -0700 (PDT)
X-X-Sender: jeremyd AT resin DOT csoft DOT net
To: cygwin AT cygwin DOT com
Subject: Path prefix //./ in Cygwin
Message-ID: <93fd79f3-bb39-79c2-8e78-57c4af356e54@jdrake.com>
MIME-Version: 1.0
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Jeremy Drake via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Jeremy Drake <cygwin AT jdrake DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

While making some tests for a path parser in rust
(https://github.com/rust-lang/rust/pull/141864), an interesting corner
case in Cygwin path handling came to light:

Works:
\\.\C:
//.\C:
//./C:\foo

Doesn't work:
//./C:
//./C:/foo

It appears to be able to use the \\.\ prefix, there must be at least 1
backslash in the path.  Otherwise, it seems that . and .. are being
normalized like a normal path and //./C:/foo is treated like
//C:/foo.  The delay attempting to access it makes me think it is looking
for a server/share style path.

My question is whether this behavior is intentional or a bug.  I don't
want to see rust codify this in their path parser and tests, only to have
it change later as a bugfix in a corner case of path handling.

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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