DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4B9G9OXN856827
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 4B9G9OXN856827
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=UdU44XJ0
X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A31BC385842C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1733760562;
	bh=eff5Obu356VbhagJRXQdbI+XmWHWi+T9zBaeTVsRd+4=;
	h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=UdU44XJ0qndXQa69nfSegxqFSLrhn7xgD26zleyZw+Y7mfUQyvRNRRackGm2qypxM
	 u//QOhA5eS97YC8+ACTl72Q939xQPEZuYwSfC+TU7nlEWcvv00yunmIzEty7ojIWL9
	 RhyvBO+vSRKlWVCOA8yBkSehu3FSHZh0zSP+5080=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B837F385828B
Date: Mon, 9 Dec 2024 17:00:40 +0100
To: cygwin@cygwin.com
Subject: Re: cygpath and unc paths
Message-ID: <Z1cUKKcsfqXifB6J@calimero.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <ee626000-a159-4482-a897-da725f02b28c@kircheis.it>
 <Z1bYfmvPYc6yFEJr@calimero.vinschen.de>
 <053d21b3-ee11-4858-a60d-54cd154fd98c@kircheis.it>
 <Z1buBnm2WlNEG8t1@calimero.vinschen.de>
 <16f5e717-2271-4107-b1b3-f28c3a1ca47d@kircheis.it>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <16f5e717-2271-4107-b1b3-f28c3a1ca47d@kircheis.it>
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Corinna Vinschen via Cygwin <cygwin@cygwin.com>
Reply-To: cygwin@cygwin.com
Cc: Corinna Vinschen <corinna-cygwin@cygwin.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces~archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie.com@cygwin.com>

On Dec  9 14:48, Federico Kircheis via Cygwin wrote:
> On 09/12/2024 14.17, Corinna Vinschen via Cygwin wrote:
> > On Dec  9 13:47, Federico Kircheis via Cygwin wrote:
> > > 1)
> > > root path, like C:\ , because for whatever reason \\?\C:\ is not valid, it
> > > has to be a subfolder (and trying to trick it with \\?\C:\\ does not work
> > > either).
> > 
> > In which scenario?  \\?\C:\ is just the same as \??\C:\ in NT speak, and
> > that's a perfectly valid directory path.
> 
> I've never seen \??\C:\.

Sorry for any confusion.  \??\ is a symlink in the NT namespace and
only used when calling kernel functions.  It's basically the same
as \\?\ and \\.\ in the Windows namespace, depending on the target.

> My test case, from powershell (which I do definitively _not_ know well
> enough, otherwise I wouldn't be using cygwin) was
> 
> cd C:\             # success
> cd \\?\C:\         # fail
> cd C:\windows      # success
> cd \\?\C:\windows  # success
> 
> and repeat the same operation with dir instead of ls.
> 
> The error message is that the "value of argument path is not valid"
> 
> I did some further testing: no amount of quoting (with ", ' and `) helps,
> also replacing \ with / does not change any outcome.
> 
> For cd, the parameter -literal makes a difference
> 
> cd -literal \\?\C:\  # success

Huh!

> Yes, -wa works; I wanted to point out that DOS paths are not a viable
> workaround.
> I could have left it out from my first mail, we agree no need to iterate
> further ;)

Yeah.  The expression "DOS path" is a bit ambiguous.  We like to use it
to differentate DOS from POSIX paths, no matter if the "DOS path" is in
long or short form.  It's actually a bit puzzeling.


Corinna

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