SCP: Fix director scan logic for *nix host systems
This commit is contained in:
parent
c3e1117728
commit
abc1afc07e
1 changed files with 6 additions and 3 deletions
9
scp.c
9
scp.c
|
@ -5085,6 +5085,8 @@ if ((*cptr != '/') || (0 == memcmp (cptr, "./", 2)) || (0 == memcmp (cptr, "../"
|
||||||
strcat (WholeName, cptr);
|
strcat (WholeName, cptr);
|
||||||
sim_trim_endspc (WholeName);
|
sim_trim_endspc (WholeName);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
strcpy (WholeName, cptr);
|
||||||
while ((c = strstr (WholeName, "/./")))
|
while ((c = strstr (WholeName, "/./")))
|
||||||
strcpy (c + 1, c + 3);
|
strcpy (c + 1, c + 3);
|
||||||
while ((c = strstr (WholeName, "//")))
|
while ((c = strstr (WholeName, "//")))
|
||||||
|
@ -5100,15 +5102,16 @@ while ((c = strstr (WholeName, "/../"))) {
|
||||||
}
|
}
|
||||||
c = strrchr (WholeName, '/');
|
c = strrchr (WholeName, '/');
|
||||||
if (c) {
|
if (c) {
|
||||||
memcpy (DirName, WholeName, c-WholeName);
|
memcpy (DirName, WholeName, 1+c-WholeName);
|
||||||
DirName[c-WholeName] = '\0';
|
DirName[1+c-WholeName] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
#if defined (VMS)
|
#if defined (VMS)
|
||||||
getcwd (WholeName, PATH_MAX, 0);
|
getcwd (WholeName, PATH_MAX, 0);
|
||||||
#else
|
#else
|
||||||
getcwd (WholeName, PATH_MAX);
|
getcwd (WholeName, PATH_MAX);
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
cptr = WholeName;
|
cptr = WholeName;
|
||||||
#if defined (HAVE_GLOB)
|
#if defined (HAVE_GLOB)
|
||||||
memset (&paths, 0, sizeof(paths));
|
memset (&paths, 0, sizeof(paths));
|
||||||
|
|
Loading…
Add table
Reference in a new issue