On Mon, Aug 18, 2008 at 4:18 AM, Louis. Lenders xerox_xerox2000@yahoo.co.uk wrote:
(the return TRUE statement got lost from last patch, thanks Michael for noticing)
Hi, this fixes Adobe Lightroom 2.0 start up bug, mentioned in http://bugs.winehq.org/show_bug.cgi?id=8224#c4
as long wine doesn't handle with volume mount points, it's probably safe to satisfy most apps.
(A simple google for "fixme:volume:GetVolumePathNameW" revealed only about 3 apps , and "fixme:volume:GetVolumePathNameA" revealed zero hits, so for now the use of this api seems not really wide-spread, and no need to touch GetVolumePathNameA i guess)
+ /* As long as we don't handle volumemountpoints, and filename is something like "X:\blabla\bla", it's probably safe to return "X:" for + now to keep some applications happy */ +
Please get rid of this comment.
+ if(strlenW(filename)>=3 && filename[1] == ':' && filename[2] == '\' && buflen >3) + { + lstrcpynW(volumepathname,filename,4); + return TRUE; + }
You've handled *a* successful case, but what about the error case? Also, you're copying 4 bytes of filename into volumepathname. I don't think you understand what lstrcpyn does. Imagine this case:
volumepathname = "aaaaaaaa" buflen = 8 filename = "C:\file"
After the call to lstrcpyn:
volumepathname = "C:\faaaa"