diff options
-rw-r--r-- | fish_tests.cpp | 9 | ||||
-rw-r--r-- | path.cpp | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/fish_tests.cpp b/fish_tests.cpp index a6b4b2ab..002912ac 100644 --- a/fish_tests.cpp +++ b/fish_tests.cpp @@ -576,7 +576,14 @@ static void test_path() if( canon != L"/foo/bar" ) { err( L"Bug in canonical PATH code" ); - } + } + + path = L"/"; + path_make_canonical(path); + if (path != L"/") + { + err( L"Bug in canonical PATH code" ); + } } /** Test is_potential_path */ @@ -525,8 +525,8 @@ void path_make_canonical( wcstring &path ) replace_all(path, L"//", L"/"); } while (path.size() != size); - /* Remove trailing slashes */ - while (size--) { + /* Remove trailing slashes, except don't remove the first one */ + while (size-- > 1) { if (path.at(size) != L'/') break; } |