Dimitrie O. Paun wrote:
On February 24, 2003 12:22 am, Dan Kegel wrote:
Seems like somehow Wine should have been able to avoid issuing that warning. Oh, ok, mingw could stick a drive letter on the path, or use \ as a dir separator, but it shouldn't have to, should it?
In other words, you want to disable the warning? I personally don't have a problem with that, anyone cares to enlighten us on why that warning is there?
Mingw is referring to paths relative to drive C, and these paths just happen to look a lot like Unix paths. Wine obligingly tries to open them as Unix paths before trying them as DOS paths. And if Mingw were to try to open some path that accidentally exists both in my Unix root and in my fake C drive, Wine might open the wrong one.
So I wonder if Wine shouldn't be mean, and not try so hard to understand Unix paths. It's tempting to try living without that feature for a while. If it's not really used, we can get rid of it, and those warnings will vanish, too.
The code in question is:
static int DOSFS_GetPathDrive( LPCWSTR *name ) { int drive; LPCWSTR p = *name;
if (*p && (p[1] == ':')) { drive = toupperW(*p) - 'A'; *name += 2; } else if (*p == '/') /* Absolute Unix path? */ { if ((drive = DRIVE_FindDriveRootW( name )) == -1) { MESSAGE("Warning: %s not accessible from a configured DOS drive\n", debugstr_w(*name) ); /* Assume it really was a DOS name */ drive = DRIVE_GetCurrentDrive(); } }
The "Absolute Unix path?" heuristic works well for most software, but not for mingw. - Dan