On Sat, Oct 04, 2008 at 01:33:15PM +0200, Peter Kümmel wrote:
> Abdelrazak Younes wrote:
>>> temp_dir is the value returned by QDir::tempPath() therefore I think
>>> this is a Qt bug.
>>
>> I don't think this is a Qt bug as the doc says:
>>
>> On Windows this is usually the path in the TEMP or TMP environment  
>> variable.
>
> Then I would say this is just the documentation of a bug, or, #
> at least a bad API design.
>
>>
>> On Vista, I have ('set' will gives you this):
>>
>> TEMP=C:\Users\abdel\AppData\Local\Temp
>>
>> And I guess that on XP you have:
>>
>> TEMP=C:\DOKUME~1\cdev\LOKALE~1\Temp
>>
>> Hence the bug. Maybe you could try to use QDir::temp() instead of  
>> QDir::tempPath() to see if that's any better.
>
>       printf("---- %s\n", qPrintable(QDir::temp().absolutePath()));
>       printf("---- %s\n", qPrintable(QDir::temp().canonicalPath()));
>
> isn't better. I know no other way to get the long name than to use the
> win32 API.
>
> Andre, do you have an idea?

I am not aware of a conversion between short and long. 


But you state:

  [...]fails due to different names of the same directory (prefixIs is string
  based):

  C:/Dokumente und Einstellungen/cdev/Lokale Einstellungen/Temp/lyx_tmpbuf0/
  C:/DOKUME~1/cdev/LOKALE~1/Temp

Having several names for the same file or directory is not a Windows-only
problem but rather common on *nix systems where there might be symlinks
or mounts "distorting" the filesystem tree. Of course, finding (or
keeping track of) a canonical representation is not necessarilty
trivial and I'd consider it rather an 'application space' task, not a
library thing. Why do we end up with two representations anyway? 

Andre'

Reply via email to