4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-18 23:12:15 +08:00

2005-01-26 Pierre Humblet <pierre.humblet@ieee.org>

* path.cc (path_conv::check): Return ENOTDIR rather than ENOENT
	when a component is not a directory. Remove unreachable code.
	(digits): Delete.
This commit is contained in:
Pierre Humblet 2005-01-26 04:34:19 +00:00
parent 0e32d1ffcd
commit 9df58602b6
2 changed files with 11 additions and 15 deletions

View File

@ -1,3 +1,9 @@
2005-01-26 Pierre Humblet <pierre.humblet@ieee.org>
* path.cc (path_conv::check): Return ENOTDIR rather than ENOENT
when a component is not a directory. Remove unreachable code.
(digits): Delete.
2005-01-25 Christopher Faylor <cgf@timesys.com> 2005-01-25 Christopher Faylor <cgf@timesys.com>
* pinfo.h (pinfo::init): Make third parameter non-optional and * pinfo.h (pinfo::init): Make third parameter non-optional and

View File

@ -655,12 +655,6 @@ path_conv::check (const char *src, unsigned opt,
full_path[3] = '\0'; full_path[3] = '\0';
} }
if ((opt & PC_SYM_IGNORE) && pcheck_case == PCHECK_RELAXED)
{
fileattr = GetFileAttributes (this->path);
goto out;
}
symlen = sym.check (full_path, suff, opt | fs.has_ea ()); symlen = sym.check (full_path, suff, opt | fs.has_ea ());
if (sym.minor || sym.major) if (sym.minor || sym.major)
@ -706,6 +700,11 @@ path_conv::check (const char *src, unsigned opt,
error = sym.error; error = sym.error;
if (component == 0) if (component == 0)
add_ext_from_sym (sym); add_ext_from_sym (sym);
else if (!(sym.fileattr & FILE_ATTRIBUTE_DIRECTORY))
{
error = ENOTDIR;
goto out;
}
if (pcheck_case == PCHECK_RELAXED) if (pcheck_case == PCHECK_RELAXED)
goto out; // file found goto out; // file found
/* Avoid further symlink evaluation. Only case checks are /* Avoid further symlink evaluation. Only case checks are
@ -939,15 +938,6 @@ path_conv::~path_conv ()
} }
} }
static __inline int
digits (const char *name)
{
char *p;
int n = strtol (name, &p, 10);
return p > name && !*p ? n : -1;
}
/* Return true if src_path is a valid, internally supported device name. /* Return true if src_path is a valid, internally supported device name.
In that case, win32_path gets the corresponding NT device name and In that case, win32_path gets the corresponding NT device name and
dev is appropriately filled with device information. */ dev is appropriately filled with device information. */