mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-02 00:35:27 +00:00
avoid temporary std::string in non posix_spawn path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101723 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d7aef9b440
commit
d65077a509
@ -104,17 +104,17 @@ Program::FindProgramByName(const std::string& progName) {
|
|||||||
static bool RedirectIO(const Path *Path, int FD, std::string* ErrMsg) {
|
static bool RedirectIO(const Path *Path, int FD, std::string* ErrMsg) {
|
||||||
if (Path == 0) // Noop
|
if (Path == 0) // Noop
|
||||||
return false;
|
return false;
|
||||||
std::string File;
|
const char *File;
|
||||||
if (Path->isEmpty())
|
if (Path->isEmpty())
|
||||||
// Redirect empty paths to /dev/null
|
// Redirect empty paths to /dev/null
|
||||||
File = "/dev/null";
|
File = "/dev/null";
|
||||||
else
|
else
|
||||||
File = Path->str();
|
File = Path->c_str();
|
||||||
|
|
||||||
// Open the file
|
// Open the file
|
||||||
int InFD = open(File.c_str(), FD == 0 ? O_RDONLY : O_WRONLY|O_CREAT, 0666);
|
int InFD = open(File, FD == 0 ? O_RDONLY : O_WRONLY|O_CREAT, 0666);
|
||||||
if (InFD == -1) {
|
if (InFD == -1) {
|
||||||
MakeErrMsg(ErrMsg, "Cannot open file '" + File + "' for "
|
MakeErrMsg(ErrMsg, "Cannot open file '" + std::string(File) + "' for "
|
||||||
+ (FD == 0 ? "input" : "output"));
|
+ (FD == 0 ? "input" : "output"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user