On 4/13/2012 2:17 AM, Denis Excoffier wrote:
* Added -R/--raw option to readshortcut (prevents expanding embedded
   environment variables within paths). Reported by Denis Excoffier.

Tried the new --raw option, with no effect.

In fact --raw is the default in this version.

Thanks for the report -- it's a one-line fix (*). I'll try roll out a new release soon; need to figure out what's up with lpr.exe first.

(*) Well, sort of. First, realize that --raw only affects the target; the IShellLink functions related to stuff like current working directory or arguments or icon path don't support the SLGP_RAWPATH setting (in fact, they don't do variable interpolation at all). So, for those elements you'll always see them "raw".

However, cygwin's path conversion logic thinks that:
  '%HOMEDRIVE%%HOMEPATH%'
is a relative path of some sort, and prints it out this way (unless -w):

$ readshortcut.exe -g Accessories/Command\ Prompt.lnk
/c/Users/All Users/Start Menu/Programs/%HOMEDRIVE%%HOMEPATH%

I might need to add some logic so that if a value starts with a DOS-style envvar, that all win<->posix processing is simply skipped...that's more than one line.

And if I was really clever and ambitious, I'd modify how !--raw works, and manually perform %foo%-variable interpolation for all the other fields.

--
Chuck


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

Reply via email to