Current Working Dir?

Fabian Cenedese Cenedese at indel.ch
Fri Sep 5 06:35:38 CDT 2003


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





More information about the wine-devel mailing list