mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Fix prefix calcualtion
This commit is contained in:
parent
3d5815c5d1
commit
e318672904
14
src/nnn.c
14
src/nnn.c
|
@ -964,21 +964,19 @@ static char *common_prefix(const char *path, char *prefix)
|
|||
while (*x && *y && (*x == *y))
|
||||
++x, ++y;
|
||||
|
||||
/* Strings are same OR prefix is shorter */
|
||||
if ((!*x && !*y) || !*y)
|
||||
/* Strings are same */
|
||||
if (!*x && !*y)
|
||||
return prefix;
|
||||
|
||||
/* Path is shorter */
|
||||
if (!*x) {
|
||||
xstrlcpy(prefix, path, path - x + 1);
|
||||
if (!*x && *y == '/') {
|
||||
xstrlcpy(prefix, path, y - path);
|
||||
return prefix;
|
||||
}
|
||||
|
||||
/* Paths deviate and prefix ends with '/' */
|
||||
if (y != prefix && *y == '/') {
|
||||
prefix[y - prefix] = '\0';
|
||||
/* Prefix is shorter */
|
||||
if (!*y && *x == '/')
|
||||
return prefix;
|
||||
}
|
||||
|
||||
/* Shorten prefix */
|
||||
prefix[y - prefix] = '\0';
|
||||
|
|
Loading…
Reference in a new issue