While creating temp. file on disk, if the current filename points to a existing directory then create new temp. file inside the directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53929 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2008-07-22 20:02:39 +00:00
parent 52672b813e
commit ce8fdf105c

View File

@ -746,8 +746,14 @@ Path::makeUnique(bool reuse_current, std::string* ErrMsg) {
// Append an XXXXXX pattern to the end of the file for use with mkstemp,
// mktemp or our own implementation.
char *FNBuffer = (char*) alloca(path.size()+8);
path.copy(FNBuffer,path.size());
strcpy(FNBuffer+path.size(), "-XXXXXX");
if (isDirectory()) {
std::string dirPath = getDirname();
strcpy(FNBuffer, dirPath.c_str());
strcpy(FNBuffer+dirPath.size(), "XXXXXX");
} else {
path.copy(FNBuffer,path.size());
strcpy(FNBuffer+path.size(), "-XXXXXX");
}
#if defined(HAVE_MKSTEMP)
int TempFD;