Replace 'mkdir' shell invocation by native function call.

Summary: Now that Host provide a MakeDirectory function, we can use it instead of relying on command line tool to create a directory.

CC: lldb-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2356

llvm-svn: 196801
This commit is contained in:
Jean-Daniel Dupas 2013-12-09 19:16:14 +00:00
parent 65d42bcc2b
commit e5f4780d9b
2 changed files with 5 additions and 17 deletions

View File

@ -273,14 +273,7 @@ static lldb_private::Error
MakeCacheFolderForFile (const FileSpec& module_cache_spec) MakeCacheFolderForFile (const FileSpec& module_cache_spec)
{ {
FileSpec module_cache_folder = module_cache_spec.CopyByRemovingLastPathComponent(); FileSpec module_cache_folder = module_cache_spec.CopyByRemovingLastPathComponent();
StreamString mkdir_folder_cmd; return Host::MakeDirectory(module_cache_folder.GetPath().c_str(), eFilePermissionsDirectoryDefault);
mkdir_folder_cmd.Printf("mkdir -p %s/%s", module_cache_folder.GetDirectory().AsCString(), module_cache_folder.GetFilename().AsCString());
return Host::RunShellCommand(mkdir_folder_cmd.GetData(),
NULL,
NULL,
NULL,
NULL,
60);
} }
static lldb_private::Error static lldb_private::Error

View File

@ -288,16 +288,11 @@ PlatformMacOSX::GetFile (const lldb_private::FileSpec &platform_file,
} }
// bring in the remote module file // bring in the remote module file
FileSpec module_cache_folder = module_cache_spec.CopyByRemovingLastPathComponent(); FileSpec module_cache_folder = module_cache_spec.CopyByRemovingLastPathComponent();
StreamString mkdir_folder_cmd;
// try to make the local directory first // try to make the local directory first
mkdir_folder_cmd.Printf("mkdir -p %s/%s", module_cache_folder.GetDirectory().AsCString(), module_cache_folder.GetFilename().AsCString()); Error err = Host::MakeDirectory(module_cache_folder.GetPath().c_str(), eFilePermissionsDirectoryDefault);
Host::RunShellCommand(mkdir_folder_cmd.GetData(), if (err.Fail())
NULL, return err;
NULL, err = GetFile(platform_file, module_cache_spec);
NULL,
NULL,
60);
Error err = GetFile(platform_file, module_cache_spec);
if (err.Fail()) if (err.Fail())
return err; return err;
if (module_cache_spec.Exists()) if (module_cache_spec.Exists())