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