diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-03-03 00:40:50 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-03-03 00:40:50 +0100 |
commit | 7c06431ff7682b42c9e91a8ea27f54f73c7c28f8 (patch) | |
tree | e568a61473dd90b39317cb5c22382ca2e0f8b97c /Applications/FileManager | |
parent | d94abc4f8194dbd285202a2c875212ed57a08196 (diff) | |
download | serenity-7c06431ff7682b42c9e91a8ea27f54f73c7c28f8.zip |
FileManager: Canonicalize paths when opening them.
Diffstat (limited to 'Applications/FileManager')
-rw-r--r-- | Applications/FileManager/DirectoryTableModel.cpp | 4 | ||||
-rw-r--r-- | Applications/FileManager/DirectoryTableView.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Applications/FileManager/DirectoryTableModel.cpp b/Applications/FileManager/DirectoryTableModel.cpp index c871d29342..712c7e22da 100644 --- a/Applications/FileManager/DirectoryTableModel.cpp +++ b/Applications/FileManager/DirectoryTableModel.cpp @@ -187,8 +187,10 @@ void DirectoryTableModel::update() did_update(); } -void DirectoryTableModel::open(const String& path) +void DirectoryTableModel::open(const String& a_path) { + FileSystemPath canonical_path(a_path); + auto path = canonical_path.string(); if (m_path == path) return; DIR* dirp = opendir(path.characters()); diff --git a/Applications/FileManager/DirectoryTableView.cpp b/Applications/FileManager/DirectoryTableView.cpp index f689a99ff4..4e116a1981 100644 --- a/Applications/FileManager/DirectoryTableView.cpp +++ b/Applications/FileManager/DirectoryTableView.cpp @@ -37,5 +37,5 @@ void DirectoryTableView::set_status_message(const String& message) void DirectoryTableView::open_parent_directory() { - model().open(".."); + model().open(String::format("%s/..", model().path().characters())); } |