Move the GetTemporaryDirectory function from "generic Unix" to platform

specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16119 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2004-08-30 21:46:55 +00:00
parent b60bf6171d
commit f634f46350
7 changed files with 100 additions and 24 deletions

View File

@ -33,6 +33,20 @@ Path::is_valid() const {
return true;
}
Path
Path::GetTemporaryDirectory() {
char* pathname = tempnam(0,"llvm_");
if (0 == pathname)
ThrowErrno(std::string("Can't create temporary directory name"));
Path result;
result.set_directory(pathname);
free(pathname);
assert(result.is_valid() && "tempnam didn't create a valid pathname!");
if (0 != mkdir(result.c_str(), S_IRWXU))
ThrowErrno(result.get() + ": Can't create temporary directory");
return result;
}
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab