X-Recipient: archive-cygwin@delorie.com
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8E609395180D
Authentication-Results: sourceware.org;
 dmarc=none (p=none dis=none) header.from=cs.umass.edu
Authentication-Results: sourceware.org;
 spf=pass smtp.mailfrom=moss@cs.umass.edu
Subject: Re: Sv: Sv: Sv: Sv: Sv: g++ and c++17 filesystem
To: "'The Cygwin Mailing List'" <cygwin@cygwin.com>
References: <c2d6280c-26e3-f9e7-89bd-693385a768b2@gmail.com>
 <D3704C33-A283-40F0-990D-CB9806F0B09D@gmail.com>
 <000a01d6be5b$3808cad0$a81a6070$@gmail.com>
 <87a2c99c-045c-e815-4c03-bab7a89a025b@cs.umass.edu>
 <000201d6bf17$7cc4beb0$764e3c10$@gmail.com>
 <9e881c01-e883-ecd5-883a-e1ac55c740c7@gmail.com>
 <000601d6c173$aa55d540$ff017fc0$@gmail.com>
 <d8a72610-a79b-0387-e52b-25f0b50c46ef@gmail.com>
 <000a01d6c244$b64bbd70$22e33850$@gmail.com>
 <237eacd5-a1bf-da6a-2ee6-f2df945f125b@cs.umass.edu>
 <000501d6c26e$73e1d760$5ba58620$@gmail.com>
 <11a20f55-46db-c9b4-1f30-d2181a3aeb9e@cornell.edu>
From: Eliot Moss <moss@cs.umass.edu>
Message-ID: <eba78a62-b702-ffa3-825b-6345e72d575b@cs.umass.edu>
Date: Tue, 24 Nov 2020 15:39:32 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
 Thunderbird/68.12.1
MIME-Version: 1.0
In-Reply-To: <11a20f55-46db-c9b4-1f30-d2181a3aeb9e@cornell.edu>
Content-Language: en-US
X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS,
 TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
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>
Reply-To: moss@cs.umass.edu
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>

For the specific case C:\Temp, I found this:

cygpath -ua 'C:\Temp'

   -> /cygdrive/c/Temp

cygpath -ua /cygdrive/c/Temp

   -> /cygdrive/c/Temp

cygpath -ua '\Temp'

   -> /cygdrive/c/Temp

cygpath -ua '/Temp'

   -> /Temp

Now Cygwin is open source, so you, too, could grab the code in cygpath and
call it as a subroutine, maybe, to try to canonicalize a wider range of
paths.

Note the interesting difference between the \Temp and /Temp cases.  cygpath
is processing \Temp as a Windows-like thing, and thus interpreting it
according the the Windows root for the current drive.  However, it processes
/Temp and a Posix-like path, which will be in term of the _Cygwin_ root,
generally the CYgwin install directory.

Still, if you did this canonicalization first, maybe you would get more what
you're looking for?  I'm not sure it would be a good idea to insert this
generally into the Cygwin library stack.  Others more familiar with the fine
details can probably elaborate why.

Regards - Eliot Moss
--
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
