[Lldb-commits] [lldb] r216398 - Change back all paths returns for lldb::PathType enumerations from HostInfo::GetLLDBPath() to return the directories in the FileSpec.m_directory field to match previous implementations. This change previously broke some path stuff in upstream branches.

Greg Clayton gclayton at apple.com
Mon Aug 25 11:21:06 PDT 2014


Author: gclayton
Date: Mon Aug 25 13:21:06 2014
New Revision: 216398

URL: http://llvm.org/viewvc/llvm-project?rev=216398&view=rev
Log:
Change back all paths returns for lldb::PathType enumerations from HostInfo::GetLLDBPath() to return the directories in the FileSpec.m_directory field to match previous implementations. This change previously broke some path stuff in upstream branches.


Modified:
    lldb/trunk/source/Host/common/HostInfoBase.cpp
    lldb/trunk/source/Host/linux/HostInfoLinux.cpp
    lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm
    lldb/trunk/source/Host/posix/HostInfoPosix.cpp
    lldb/trunk/source/Host/windows/HostInfoWindows.cpp

Modified: lldb/trunk/source/Host/common/HostInfoBase.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/HostInfoBase.cpp?rev=216398&r1=216397&r2=216398&view=diff
==============================================================================
--- lldb/trunk/source/Host/common/HostInfoBase.cpp (original)
+++ lldb/trunk/source/Host/common/HostInfoBase.cpp Mon Aug 25 13:21:06 2014
@@ -228,7 +228,7 @@ HostInfoBase::ComputeSharedLibraryDirect
         Host::GetModuleFileSpecForHostAddress(reinterpret_cast<void *>(reinterpret_cast<intptr_t>(HostInfoBase::GetLLDBPath))));
 
     // Remove the filename so that this FileSpec only represents the directory.
-    file_spec.SetFile(lldb_file_spec.GetDirectory().AsCString(), true);
+    file_spec.GetDirectory() = lldb_file_spec.GetDirectory();
 
     return (bool)file_spec.GetDirectory();
 }
@@ -264,7 +264,7 @@ HostInfoBase::ComputeTempFileDirectory(F
     // Make an atexit handler to clean up the process specify LLDB temp dir
     // and all of its contents.
     ::atexit(CleanupProcessSpecificLLDBTempDir);
-    file_spec.SetFile(pid_tmpdir.GetString().c_str(), false);
+    file_spec.GetDirectory().SetCStringWithLength(pid_tmpdir.GetString().c_str(), pid_tmpdir.GetString().size());
     return true;
 }
 

Modified: lldb/trunk/source/Host/linux/HostInfoLinux.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/linux/HostInfoLinux.cpp?rev=216398&r1=216397&r2=216398&view=diff
==============================================================================
--- lldb/trunk/source/Host/linux/HostInfoLinux.cpp (original)
+++ lldb/trunk/source/Host/linux/HostInfoLinux.cpp Mon Aug 25 13:21:06 2014
@@ -194,7 +194,8 @@ HostInfoLinux::GetProgramFileSpec()
 bool
 HostInfoLinux::ComputeSystemPluginsDirectory(FileSpec &file_spec)
 {
-    file_spec.SetFile("/usr/lib/lldb", true);
+    FileSpec temp_file("/usr/lib/lldb", true);
+    file_spec.GetDirectory().SetCString(temp_file.GetPath().c_str());
     return true;
 }
 
@@ -204,17 +205,15 @@ HostInfoLinux::ComputeUserPluginsDirecto
     // XDG Base Directory Specification
     // http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
     // If XDG_DATA_HOME exists, use that, otherwise use ~/.local/share/lldb.
-    FileSpec lldb_file_spec;
     const char *xdg_data_home = getenv("XDG_DATA_HOME");
     if (xdg_data_home && xdg_data_home[0])
     {
         std::string user_plugin_dir(xdg_data_home);
         user_plugin_dir += "/lldb";
-        lldb_file_spec.SetFile(user_plugin_dir.c_str(), true);
+        file_spec.GetDirectory().SetCString(user_plugin_dir.c_str());
     }
     else
-        lldb_file_spec.SetFile("~/.local/share/lldb", true);
-
+        file_spec.GetDirectory().SetCString("~/.local/share/lldb");
     return true;
 }
 

Modified: lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm?rev=216398&r1=216397&r2=216398&view=diff
==============================================================================
--- lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm (original)
+++ lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm Mon Aug 25 13:21:06 2014
@@ -149,7 +149,7 @@ HostInfoMacOSX::ComputeSupportExeDirecto
         ::strncpy(framework_pos, "/Resources", PATH_MAX - (framework_pos - raw_path));
 #endif
     }
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return (bool)file_spec.GetDirectory();
 }
 
@@ -169,7 +169,7 @@ HostInfoMacOSX::ComputeHeaderDirectory(F
         framework_pos += strlen("LLDB.framework");
         ::strncpy(framework_pos, "/Headers", PATH_MAX - (framework_pos - raw_path));
     }
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return true;
 }
 
@@ -199,7 +199,7 @@ HostInfoMacOSX::ComputePythonDirectory(F
         // We may get our string truncated. Should we protect this with an assert?
         ::strncat(raw_path, python_version_dir.c_str(), sizeof(raw_path) - strlen(raw_path) - 1);
     }
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return true;
 }
 
@@ -218,14 +218,15 @@ HostInfoMacOSX::ComputeSystemPluginsDire
 
     framework_pos += strlen("LLDB.framework");
     ::strncpy(framework_pos, "/Resources/PlugIns", PATH_MAX - (framework_pos - raw_path));
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return true;
 }
 
 bool
 HostInfoMacOSX::ComputeUserPluginsDirectory(FileSpec &file_spec)
 {
-    file_spec.SetFile("~/Library/Application Support/LLDB/PlugIns", true);
+    FileSpec temp_file("~/Library/Application Support/LLDB/PlugIns", true);
+    file_spec.GetDirectory().SetCString(temp_file.GetPath().c_str());
     return true;
 }
 

Modified: lldb/trunk/source/Host/posix/HostInfoPosix.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/posix/HostInfoPosix.cpp?rev=216398&r1=216397&r2=216398&view=diff
==============================================================================
--- lldb/trunk/source/Host/posix/HostInfoPosix.cpp (original)
+++ lldb/trunk/source/Host/posix/HostInfoPosix.cpp Mon Aug 25 13:21:06 2014
@@ -158,14 +158,15 @@ HostInfoPosix::ComputeSupportExeDirector
             log->Printf("Host::%s() failed to find /lib/liblldb within the shared lib path, bailing on bin path construction",
                         __FUNCTION__);
     }
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return (bool)file_spec.GetDirectory();
 }
 
 bool
 HostInfoPosix::ComputeHeaderDirectory(FileSpec &file_spec)
 {
-    file_spec.SetFile("/opt/local/include/lldb", false);
+    FileSpec temp_file("/opt/local/include/lldb", false);
+    file_spec.GetDirectory().SetCString(temp_file.GetPath().c_str());
     return true;
 }
 
@@ -187,6 +188,6 @@ HostInfoPosix::ComputePythonDirectory(Fi
     // We may get our string truncated. Should we protect this with an assert?
     ::strncat(raw_path, python_version_dir.c_str(), sizeof(raw_path) - strlen(raw_path) - 1);
 
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return true;
 }

Modified: lldb/trunk/source/Host/windows/HostInfoWindows.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/windows/HostInfoWindows.cpp?rev=216398&r1=216397&r2=216398&view=diff
==============================================================================
--- lldb/trunk/source/Host/windows/HostInfoWindows.cpp (original)
+++ lldb/trunk/source/Host/windows/HostInfoWindows.cpp Mon Aug 25 13:21:06 2014
@@ -107,6 +107,6 @@ HostInfoWindows::ComputePythonDirectory(
     lldb_file_spec.AppendPathComponent("../lib/site-packages");
     lldb_file_spec.GetPath(raw_path, sizeof(raw_path));
 
-    file_spec.SetFile(raw_path, true);
+    file_spec.GetDirectory().SetCString(raw_path);
     return true;
 }





More information about the lldb-commits mailing list