* path.cc (path_conv::check): Fill in fileattr for /dev, defaulting to

directory if /dev doesn't actually exist.
(win32_device_name): Don't consider FH_DEV to be a device since it's really a
directory which should go through mount processing.
This commit is contained in:
Christopher Faylor 2005-08-24 14:17:56 +00:00
parent 14c4d65ef1
commit 7871cd8c5d
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2005-08-24 Christopher Faylor <cgf@timesys.com>
* path.cc (path_conv::check): Fill in fileattr for /dev, defaulting to
directory if /dev doesn't actually exist.
(win32_device_name): Don't consider FH_DEV to be a device since it's
really a directory which should go through mount processing.
2005-08-24 Christopher Faylor <cgf@timesys.com>
* cygheap.h (cygheap_types): Add HEAP_COMMUNE.

View File

@ -641,9 +641,13 @@ path_conv::check (const char *src, unsigned opt,
}
else if (dev == FH_DEV)
{
fileattr = FILE_ATTRIBUTE_DIRECTORY;
dev.devn = FH_FS;
goto out;
fileattr = GetFileAttributes (this->path);
if (!component && fileattr == INVALID_FILE_ATTRIBUTES)
{
fileattr = FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY;
goto out;
}
}
else if (isvirtual_dev (dev.devn))
{
@ -1053,7 +1057,7 @@ static bool
win32_device_name (const char *src_path, char *win32_path, device& dev)
{
dev.parse (src_path);
if (dev.devn == FH_FS)
if (dev == FH_FS || dev == FH_DEV)
return false;
strcpy (win32_path, dev.native);
return true;