* 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:
Christopher Faylor 2001-10-07 21:16:36 +00:00
parent 58364ce8a1
commit c27a29813a
3 changed files with 22 additions and 3 deletions

View File

@ -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

View File

@ -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 != '/')
{

View File

@ -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;