1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:17:35 +00:00

AK: Add dirname() to FileSystemPath

This commit is contained in:
Conrad Pankoff 2020-01-07 22:35:45 +11:00 committed by Andreas Kling
parent 3f3169c225
commit c7fd39f3b1
2 changed files with 12 additions and 1 deletions

View file

@ -45,10 +45,19 @@ void FileSystemPath::canonicalize()
}
}
if (canonical_parts.is_empty()) {
m_string = m_basename = "/";
m_string = m_basename = m_dirname = "/";
return;
}
StringBuilder dirname_builder(approximate_canonical_length);
for (int i = 0; i < canonical_parts.size() - 1; ++i) {
auto& canonical_part = canonical_parts[i];
if (is_absolute_path || i != 0)
dirname_builder.append('/');
dirname_builder.append(canonical_part);
}
m_dirname = dirname_builder.to_string();
m_basename = canonical_parts.last();
auto name_parts = m_basename.split('.');
m_title = name_parts[0];