[Lldb-commits] [PATCH] D62216: [EditLine] Rewrite GetHistoryFilePath
Jonas Devlieghere via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue May 21 12:55:23 PDT 2019
JDevlieghere created this revision.
JDevlieghere added reviewers: labath, xiaobai, jingham.
Herald added a project: LLDB.
Rewrite the GetHistoryFilePath implementation without relying on FileSpec in the spirit of our discussion in D61994 <https://reviews.llvm.org/D61994>.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D62216
Files:
lldb/source/Host/common/Editline.cpp
Index: lldb/source/Host/common/Editline.cpp
===================================================================
--- lldb/source/Host/common/Editline.cpp
+++ lldb/source/Host/common/Editline.cpp
@@ -171,23 +171,27 @@
}
const char *GetHistoryFilePath() {
+ // Compute the history path lazily.
if (m_path.empty() && m_history && !m_prefix.empty()) {
- FileSpec parent_path("~/.lldb");
- FileSystem::Instance().Resolve(parent_path);
- char history_path[PATH_MAX];
- if (!llvm::sys::fs::create_directory(parent_path.GetPath())) {
- snprintf(history_path, sizeof(history_path), "~/.lldb/%s-history",
- m_prefix.c_str());
+ llvm::SmallString<128> home_directory;
+ llvm::sys::path::home_directory(home_directory);
+
+ llvm::SmallString<128> lldb_history_file = home_directory;
+ llvm::sys::path::append(lldb_history_file, ".lldb");
+ if (!llvm::sys::fs::create_directory(lldb_history_file)) {
+ std::string filename = m_prefix + "-history";
+ llvm::sys::path::append(lldb_history_file, filename);
} else {
- snprintf(history_path, sizeof(history_path), "~/%s-widehistory",
- m_prefix.c_str());
+ std::string filename = m_prefix + "-widehistory";
+ lldb_history_file = home_directory;
+ llvm::sys::path::append(lldb_history_file, filename);
}
- auto file_spec = FileSpec(history_path);
- FileSystem::Instance().Resolve(file_spec);
- m_path = file_spec.GetPath();
+ m_path = lldb_history_file.str();
}
+
if (m_path.empty())
- return NULL;
+ return nullptr;
+
return m_path.c_str();
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62216.200574.patch
Type: text/x-patch
Size: 1691 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190521/ac940d3b/attachment.bin>
More information about the lldb-commits
mailing list