annoyance running mingw

Dan Kegel dank at kegel.com
Sun Feb 23 23:46:30 CST 2003


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

-- 
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045




More information about the wine-devel mailing list