From 28d3cc021d78f7f0867fc7f5f5930369ea94ff5a Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 24 Nov 2001 21:05:00 +0000 Subject: * path.cc (path_conv::check): Tighten FH_CYGDRIVE check to avoid matching trailing component, like other devices. --- winsup/cygwin/path.cc | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'winsup/cygwin/path.cc') diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 8e1775c3c..af30927c0 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -482,19 +482,16 @@ path_conv::check (const char *src, unsigned opt, /* devn should not be a device. If it is, then stop parsing now. */ if (devn != FH_BAD) { - if (devn == FH_CYGDRIVE) - fileattr = !unit ? FILE_ATTRIBUTE_DIRECTORY - : GetFileAttributes (full_path); - else + if (component) { - if (component) - { - error = ENOTDIR; - return; - } - fileattr = 0; + error = ENOTDIR; + return; } - + if (devn != FH_CYGDRIVE) + fileattr = 0; + else + fileattr = !unit ? FILE_ATTRIBUTE_DIRECTORY + : GetFileAttributes (full_path); goto out; /* Found a device. Stop parsing. */ } -- cgit v1.2.3