path_make_canonical mishandles empty string.

Fixes https://github.com/ridiculousfish/fishfish/issues/26
This commit is contained in:
ridiculousfish 2012-06-04 12:00:59 -07:00
parent 457e6a5f46
commit cc90f9cf80
2 changed files with 10 additions and 3 deletions

View file

@ -577,6 +577,13 @@ static void test_path()
{
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 */

View file

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