mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
* path.cc (path_conv::check): Always reset to FH_FS when component != 0 and
FH_NETDRIVE to fix problems with strict case checking.
This commit is contained in:
parent
fbc0e572ce
commit
0fc9cf11f8
@ -1,3 +1,8 @@
|
||||
2005-06-14 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* path.cc (path_conv::check): Always reset to FH_FS when component != 0
|
||||
and FH_NETDRIVE to fix problems with strict case checking.
|
||||
|
||||
2005-06-12 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_socket.cc (fhandler_socket::recvmsg): Avoid SEGV in OpenSSH
|
||||
|
@ -886,22 +886,19 @@ out:
|
||||
error = EROFS;
|
||||
return;
|
||||
}
|
||||
else if (dev.devn == FH_NETDRIVE && component)
|
||||
{
|
||||
/* This case indicates a non-existant resp. a non-retrievable
|
||||
share. This happens for instance if the share is a printer.
|
||||
In this case the path must not be treated like a FH_NETDRIVE,
|
||||
but like a FH_FS instead, so the usual open call for files
|
||||
is used on it. */
|
||||
dev.parse (FH_FS);
|
||||
}
|
||||
else if (isvirtual_dev (dev.devn) && fileattr == INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
if (dev.devn == FH_NETDRIVE && component)
|
||||
{
|
||||
/* This case indicates a non-existant resp. a non-retrievable
|
||||
share. This happens for instance if the share is a printer.
|
||||
In this case the path must not be treated like a FH_NETDRIVE,
|
||||
but like a FH_FS instead, so the usual open call for files
|
||||
is used on it. */
|
||||
dev.parse (FH_FS);
|
||||
}
|
||||
else
|
||||
{
|
||||
error = dev.devn == FH_NETDRIVE ? ENOSHARE : ENOENT;
|
||||
return;
|
||||
}
|
||||
error = dev.devn == FH_NETDRIVE ? ENOSHARE : ENOENT;
|
||||
return;
|
||||
}
|
||||
else if (!need_directory || error)
|
||||
/* nothing to do */;
|
||||
|
Loading…
x
Reference in New Issue
Block a user