SCP: Fix director scan logic for *nix host systems

This commit is contained in:
Mark Pizzolato 2017-03-09 11:03:00 -08:00
parent c3e1117728
commit abc1afc07e

9
scp.c
View file

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