From: Benjamin Kramer Date: Sun, 18 Apr 2010 09:19:41 +0000 (+0000) Subject: Eliminate temporary string. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d7aef9b440fa7dfb41a5dfdb9723f1fdee976289;p=oota-llvm.git Eliminate temporary string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101711 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc index b7b4e9eb469..6b5dc233aa3 100644 --- a/lib/System/Unix/Program.inc +++ b/lib/System/Unix/Program.inc @@ -134,15 +134,15 @@ static bool RedirectIO_PS(const Path *Path, int FD, std::string *ErrMsg, posix_spawn_file_actions_t &FileActions) { if (Path == 0) // Noop return false; - std::string File; + const char *File; if (Path->isEmpty()) // Redirect empty paths to /dev/null File = "/dev/null"; else - File = Path->str(); - + File = Path->c_str(); + if (int Err = posix_spawn_file_actions_addopen(&FileActions, FD, - File.c_str(), FD == 0 ? O_RDONLY : O_WRONLY|O_CREAT, 0666)) + File, FD == 0 ? O_RDONLY : O_WRONLY|O_CREAT, 0666)) return MakeErrMsg(ErrMsg, "Cannot dup2", Err); return false; }