Hi
I just updated to the actual cvs version and tried to run my program. It's a simple Win32 command line tool which reads a text file from the same directory called Update.ini.
When I run it with winedbg it opens the app console window and brings me an app error dialog that it can't find the second text file. After tracing with +file,+dosfs it seems that it's only looking in my home dir instead of the dir where the exe is. Is this true?
Note that my fake C-Drive is not below home. But wine is. Does this matter?
My code looks like:
//---------- CStdioFile inifile;
if (!inifile.Open("Update.ini", CFile::modeRead)) { AfxMessageBox("Update.ini not found!"); return 1; } //----------
Not worth mentioning that it works in Windows.
Here's the log.
-- snip some init --
trace:dosfs:DOSFS_DoGetFullPathName passed L"Update.ini" trace:dosfs:DOSFS_GetFullName L"." (last=0) trace:dosfs:DOSFS_GetFullName returning /home/fabi2 = L"Z:\HOME\FABI2" trace:dosfs:DOSFS_DoGetFullPathName got L"Z:\home\fabi2\Update.ini" trace:dosfs:DOSFS_DoGetFullPathName returning L"Z:\home\fabi2\Update.ini" trace:dosfs:DOSFS_GetFullName L"Update.ini" (last=0) trace:dosfs:DOSFS_FindUnixName /home/fabi2,L"Update.ini" trace:dosfs:DOSFS_OpenDir "/home/fabi2" warn:dosfs:DOSFS_FindUnixName L"Update.ini" not found in '/home/fabi2' trace:dosfs:DOSFS_GetFullName returning /home/fabi2/Update.ini = L"Z:\HOME\FABI2\update.ini" trace:dosfs:DOSFS_OpenDir "/home/fabi2" trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L"..", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".qt", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".kde", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".smb", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".xim", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".wine", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".wmrc", 0) trace:dosfs:DOSFS_MatchLong (L"Update.ini", L".bashrc", 0)
.. trying all files here.
trace:file:CreateFileW L"Update.ini" GENERIC_READ OPEN_EXISTING attributes 0x80 trace:dosfs:DOSFS_GetFullName L"Update.ini" (last=1) trace:dosfs:DOSFS_FindUnixName /home/fabi2,L"Update.ini" trace:dosfs:DOSFS_OpenDir "/home/fabi2" warn:dosfs:DOSFS_FindUnixName L"Update.ini" not found in '/home/fabi2' warn:file:CreateFileW Unable to get full filename from L"Update.ini" (GLE 2)
And then my error message box comes up.
Any ideas? Do I need to change the cwd first?
Thanks Fabi