* path.cc (normalize_posix_path): Don't eat a '.' after a '\\' since it has
special meaning on NT. * syscalls.cc (access): Use stat_worker.
This commit is contained in:
parent
58364ce8a1
commit
c27a29813a
|
@ -1,3 +1,10 @@
|
|||
Sun Oct 7 17:16:05 2001 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* path.cc (normalize_posix_path): Don't eat a '.' after a '\\' since it
|
||||
has special meaning on NT.
|
||||
|
||||
* syscalls.cc (access): Use stat_worker.
|
||||
|
||||
Fri Oct 5 21:01:14 2001 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* fhandler.cc (fhandler_base::fork_fixup): Protect dup'ed handle and
|
||||
|
|
|
@ -209,6 +209,12 @@ normalize_posix_path (const char *src, char *dst)
|
|||
*dst++ = '/';
|
||||
src = src_start + 1;
|
||||
}
|
||||
else if (src[0] == '.' && isslash (src[1]))
|
||||
{
|
||||
*dst++ = '.';
|
||||
*dst++ = '/';
|
||||
src += 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
*dst = '\0';
|
||||
|
@ -934,7 +940,13 @@ normalize_win32_path (const char *src, char *dst)
|
|||
if (beg_src_slash && isdirsep (src[1]))
|
||||
{
|
||||
*dst++ = '\\';
|
||||
++src;
|
||||
src++;
|
||||
if (src[1] == '.' && isdirsep (src[2]))
|
||||
{
|
||||
*dst++ = '\\';
|
||||
*dst++ = '.';
|
||||
src += 2;
|
||||
}
|
||||
}
|
||||
else if (strchr (src, ':') == NULL && *src != '/')
|
||||
{
|
||||
|
|
|
@ -1074,7 +1074,7 @@ access (const char *fn, int flags)
|
|||
{
|
||||
sigframe thisframe (mainthread);
|
||||
// flags were incorrectly specified
|
||||
if (flags & ~ (F_OK|R_OK|W_OK|X_OK))
|
||||
if (flags & ~(F_OK|R_OK|W_OK|X_OK))
|
||||
{
|
||||
set_errno (EINVAL);
|
||||
return -1;
|
||||
|
@ -1084,7 +1084,7 @@ access (const char *fn, int flags)
|
|||
return acl_access (fn, flags);
|
||||
|
||||
struct stat st;
|
||||
int r = stat (fn, &st);
|
||||
int r = stat_worker (fn, &st, 0);
|
||||
if (r)
|
||||
return -1;
|
||||
r = -1;
|
||||
|
|
Loading…
Reference in New Issue