From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailsrv.cs.umass.edu (mailsrv.cs.umass.edu [128.119.240.136]) by sourceware.org (Postfix) with ESMTPS id 8E609395180D for ; Tue, 24 Nov 2020 20:39:31 +0000 (GMT) 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 Received: from [192.168.0.13] (c-24-62-203-86.hsd1.ma.comcast.net [24.62.203.86]) by mailsrv.cs.umass.edu (Postfix) with ESMTPSA id 46C34401A56C; Tue, 24 Nov 2020 15:39:31 -0500 (EST) Reply-To: moss@cs.umass.edu Subject: Re: Sv: Sv: Sv: Sv: Sv: g++ and c++17 filesystem To: 'The Cygwin Mailing List' References: <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> <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 Message-ID: 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-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Nov 2020 20:39:32 -0000 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