X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <416096c61001030817s65d5ceb3k3b1f6409a7c6362e@mail.gmail.com> References: <416096c61001030817s65d5ceb3k3b1f6409a7c6362e AT mail DOT gmail DOT com> Date: Sun, 3 Jan 2010 21:22:31 +0000 Message-ID: <416096c61001031322u22ad7e08kfd814eabe3c4e3c4@mail.gmail.com> Subject: Re: cygwin_create_path From: Andy Koppe To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 2010/1/3 Andy Koppe: > I'm having a spot of trouble changing mkshortcut to use the > wchar_t-enabled cygwin_create_path instead of the deprecated > cygwin_conv_to_full_win32_path & co. When converting to a Windows path > using CCP_POSIX_TO_WIN_W, the result is a path starting with "\\?\", > e.g. "\\?\C:\cygwin\bash.exe". > > Yet unfortunately the IShellLink::SetPath method does not appear to > accept such paths, instead returning failure and leaving the link > target unset. Therefore, is there a simple way to get from the full > path to a "normal" path such as "C:\cygwin\bash.exe"? Simply dropping > the "\\?\" wouldn't work for network paths. I haven't managed to find > a solution on MSDN. Handling this as follows now: - If the path starts with "\\?\UNC\", replace that with "\\" (for network paths). - Otherwise, if the path starts with "\\?\", just remove that. Andy > > Andy > -- 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