fix bug in GetPrevDirectoryPath on Unix-like systems (#1246)

This commit is contained in:
ivn 2020-05-14 18:30:32 +03:00 committed by GitHub
parent 257f232d41
commit 730375faf7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2087,11 +2087,12 @@ const char *GetPrevDirectoryPath(const char *dirPath)
if (pathLen <= 3) strcpy(prevDirPath, dirPath); if (pathLen <= 3) strcpy(prevDirPath, dirPath);
for (int i = (pathLen - 1); (i > 0) && (pathLen > 3); i--) for (int i = (pathLen - 1); (i >= 0) && (pathLen > 3); i--)
{ {
if ((dirPath[i] == '\\') || (dirPath[i] == '/')) if ((dirPath[i] == '\\') || (dirPath[i] == '/'))
{ {
if (i == 2) i++; // Check for root: "C:\" if ((i == 2) && (dirPath[1] ==':') // Check for root: "C:\"
|| i == 0) i++; // Check for root: "/"
strncpy(prevDirPath, dirPath, i); strncpy(prevDirPath, dirPath, i);
break; break;
} }