Eliminate temporary string.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sun, 18 Apr 2010 09:19:41 +0000 (09:19 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sun, 18 Apr 2010 09:19:41 +0000 (09:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101711 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Unix/Program.inc

index b7b4e9eb469431c54c2d9f27ee2a8c5398d3b0d3..6b5dc233aa343940d2b2c3cca5dd444e282a3e59 100644 (file)
@@ -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;
 }