* path.cc (normalize_posix_path): Correctly deal with a "." parameter.
This commit is contained in:
parent
9149d76e50
commit
867df927a6
|
@ -1,3 +1,7 @@
|
|||
Mon Sep 11 13:19:15 2000 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* path.cc (normalize_posix_path): Correctly deal with a "." parameter.
|
||||
|
||||
Sun Sep 10 20:23:35 2000 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* cygheap.cc (init_cheap): Just use any old address for the cygwin
|
||||
|
|
|
@ -593,8 +593,8 @@ normalize_posix_path (const char *src, char *dst)
|
|||
{
|
||||
while (*++src)
|
||||
{
|
||||
while (isslash (*src))
|
||||
src++;
|
||||
if (isslash (*src))
|
||||
continue;
|
||||
|
||||
if (*src != '.')
|
||||
break;
|
||||
|
@ -602,13 +602,15 @@ normalize_posix_path (const char *src, char *dst)
|
|||
sawdot:
|
||||
if (src[1] != '.')
|
||||
{
|
||||
if (!src[1] || !isslash (src[1]))
|
||||
if (!src[1])
|
||||
goto done;
|
||||
if (!isslash (src[1]))
|
||||
break;
|
||||
}
|
||||
else if (src[2] && !isslash (src[2]))
|
||||
break;
|
||||
else
|
||||
{
|
||||
if (src[2] && !isslash (src[2]))
|
||||
break;
|
||||
if (!ischrootpath (dst_start) ||
|
||||
dst - dst_start != (int) myself->rootlen)
|
||||
while (dst > dst_start && !isslash (*--dst))
|
||||
|
@ -621,6 +623,7 @@ normalize_posix_path (const char *src, char *dst)
|
|||
}
|
||||
}
|
||||
|
||||
done:
|
||||
*dst = '\0';
|
||||
if (--dst > dst_start && isslash (*dst))
|
||||
*dst = '\0';
|
||||
|
|
Loading…
Reference in New Issue