5252#include " lldb/Core/Telemetry.h"
5353#include " lldb/Host/StreamFile.h"
5454#include " lldb/Utility/ErrorMessages.h"
55+ #include " lldb/Utility/FileSpec.h"
5556#include " lldb/Utility/LLDBLog.h"
5657#include " lldb/Utility/Log.h"
5758#include " lldb/Utility/State.h"
@@ -2502,22 +2503,18 @@ int CommandInterpreter::GetOptionArgumentPosition(const char *in_string) {
25022503 return position;
25032504}
25042505
2505- static void GetHomeInitFile (llvm::SmallVectorImpl<char > &init_file,
2506- llvm::StringRef suffix = {}) {
2506+ static void GetHomeInitFile (FileSpec &init_file, llvm::StringRef suffix = {}) {
25072507 std::string init_file_name = " .lldbinit" ;
25082508 if (!suffix.empty ()) {
25092509 init_file_name.append (" -" );
25102510 init_file_name.append (suffix.str ());
25112511 }
25122512
2513- FileSystem::Instance ().GetHomeDirectory (init_file);
2514- llvm::sys::path::append (init_file, init_file_name);
2515-
2516- FileSystem::Instance ().Resolve (init_file);
2513+ init_file =
2514+ HostInfo::GetUserHomeDir ().CopyByAppendingPathComponent (init_file_name);
25172515}
25182516
2519- static void GetHomeREPLInitFile (llvm::SmallVectorImpl<char > &init_file,
2520- LanguageType language) {
2517+ static void GetHomeREPLInitFile (FileSpec &init_file, LanguageType language) {
25212518 if (language == eLanguageTypeUnknown) {
25222519 LanguageSet repl_languages = Language::GetLanguagesSupportingREPLs ();
25232520 if (auto main_repl_language = repl_languages.GetSingularLanguage ())
@@ -2531,9 +2528,9 @@ static void GetHomeREPLInitFile(llvm::SmallVectorImpl<char> &init_file,
25312528 llvm::Twine (Language::GetNameForLanguageType (language)) +
25322529 llvm::Twine (" -repl" ))
25332530 .str ();
2534- FileSystem::Instance (). GetHomeDirectory (init_file);
2535- llvm::sys::path::append ( init_file, init_file_name);
2536- FileSystem::Instance ().Resolve (init_file );
2531+
2532+ init_file =
2533+ HostInfo::GetUserHomeDir ().CopyByAppendingPathComponent (init_file_name );
25372534}
25382535
25392536static void GetCwdInitFile (llvm::SmallVectorImpl<char > &init_file) {
@@ -2588,10 +2585,10 @@ void CommandInterpreter::SourceInitFileCwd(CommandReturnObject &result) {
25882585 SourceInitFile (FileSpec (init_file.str ()), result);
25892586 break ;
25902587 case eLoadCWDlldbinitWarn: {
2591- llvm::SmallString< 128 > home_init_file;
2588+ FileSpec home_init_file;
25922589 GetHomeInitFile (home_init_file);
25932590 if (llvm::sys::path::parent_path (init_file) ==
2594- llvm::sys::path::parent_path (home_init_file)) {
2591+ llvm::sys::path::parent_path (home_init_file. GetPath () )) {
25952592 result.SetStatus (eReturnStatusSuccessFinishNoResult);
25962593 } else {
25972594 result.AppendError (InitFileWarning);
@@ -2611,24 +2608,24 @@ void CommandInterpreter::SourceInitFileHome(CommandReturnObject &result,
26112608 return ;
26122609 }
26132610
2614- llvm::SmallString< 128 > init_file;
2611+ FileSpec init_file;
26152612
26162613 if (is_repl)
26172614 GetHomeREPLInitFile (init_file, GetDebugger ().GetREPLLanguage ());
26182615
2619- if (init_file.empty ())
2616+ if (init_file.GetPath (). empty ())
26202617 GetHomeInitFile (init_file);
26212618
26222619 if (!m_skip_app_init_files) {
26232620 llvm::StringRef program_name =
26242621 HostInfo::GetProgramFileSpec ().GetFilename ().GetStringRef ();
2625- llvm::SmallString< 128 > program_init_file;
2622+ FileSpec program_init_file;
26262623 GetHomeInitFile (program_init_file, program_name);
26272624 if (FileSystem::Instance ().Exists (program_init_file))
26282625 init_file = program_init_file;
26292626 }
26302627
2631- SourceInitFile (FileSpec ( init_file. str ()) , result);
2628+ SourceInitFile (init_file, result);
26322629}
26332630
26342631void CommandInterpreter::SourceInitFileGlobal (CommandReturnObject &result) {
0 commit comments