* spawn.cc (find_exec): Enable finding paths in backslash notation,
especially for the exec[vl]p functions. * path.cc (symlink_info::check): Disable returning directories with suffix appended here.
This commit is contained in:
parent
3f4a0c963a
commit
b3cbb06c9d
|
@ -1,3 +1,11 @@
|
||||||
|
2010-03-29 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* spawn.cc (find_exec): Enable finding paths in backslash notation,
|
||||||
|
especially for the exec[vl]p functions.
|
||||||
|
|
||||||
|
* path.cc (symlink_info::check): Disable returning directories with
|
||||||
|
suffix appended here.
|
||||||
|
|
||||||
2010-03-29 Corinna Vinschen <corinna@vinschen.de>
|
2010-03-29 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* include/cygwin/version.h: Bump DLL minor version number to 3.
|
* include/cygwin/version.h: Bump DLL minor version number to 3.
|
||||||
|
|
|
@ -2197,6 +2197,7 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt,
|
||||||
PVOID eabuf = &nfs_aol_ffei;
|
PVOID eabuf = &nfs_aol_ffei;
|
||||||
ULONG easize = sizeof nfs_aol_ffei;
|
ULONG easize = sizeof nfs_aol_ffei;
|
||||||
|
|
||||||
|
bool had_ext = !!*ext_here;
|
||||||
while (suffix.next ())
|
while (suffix.next ())
|
||||||
{
|
{
|
||||||
FILE_BASIC_INFORMATION fbi;
|
FILE_BASIC_INFORMATION fbi;
|
||||||
|
@ -2380,6 +2381,15 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt,
|
||||||
}
|
}
|
||||||
|
|
||||||
ext_tacked_on = !!*ext_here;
|
ext_tacked_on = !!*ext_here;
|
||||||
|
/* Don't allow to returns directories with appended suffix. If we found
|
||||||
|
a directory with a suffix which has been appended here, then this
|
||||||
|
directory doesn't match the request. So, just do as usual if file
|
||||||
|
hasn't been found. */
|
||||||
|
if (ext_tacked_on && !had_ext && (fileattr & FILE_ATTRIBUTE_DIRECTORY))
|
||||||
|
{
|
||||||
|
set_error (ENOENT);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
res = -1;
|
res = -1;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* spawn.cc
|
/* spawn.cc
|
||||||
|
|
||||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
2005, 2006, 2007, 2008, 2009 Red Hat, Inc.
|
2005, 2006, 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ find_exec (const char *name, path_conv& buf, const char *mywinenv,
|
||||||
tmp_pathbuf tp;
|
tmp_pathbuf tp;
|
||||||
char *tmp = tp.c_get ();
|
char *tmp = tp.c_get ();
|
||||||
const char *posix = (opt & FE_NATIVE) ? NULL : name;
|
const char *posix = (opt & FE_NATIVE) ? NULL : name;
|
||||||
bool has_slash = strchr (name, '/');
|
bool has_slash = !!strpbrk (name, "/\\");
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
/* Check to see if file can be opened as is first.
|
/* Check to see if file can be opened as is first.
|
||||||
|
|
Loading…
Reference in New Issue