aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-25 15:00:17 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-25 15:00:17 +0000
commit268f400c57ccbb81da34ff1ab1eb001cbb0df1f1 (patch)
tree08f844b5c2ad04dd3b947c3947423984090ceab4
parent107b2f26aa02a089a6b05ab86ebe033836fc06fa (diff)
downloadexternal_llvm-268f400c57ccbb81da34ff1ab1eb001cbb0df1f1.zip
external_llvm-268f400c57ccbb81da34ff1ab1eb001cbb0df1f1.tar.gz
external_llvm-268f400c57ccbb81da34ff1ab1eb001cbb0df1f1.tar.bz2
Don't end a file name with a dot. It looks odd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187124 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Support/Path.cpp3
-rw-r--r--unittests/Support/Path.cpp5
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp
index 88137ea..6d10c0e 100644
--- a/lib/Support/Path.cpp
+++ b/lib/Support/Path.cpp
@@ -665,7 +665,8 @@ static error_code
createTemporaryFile(const Twine &Prefix, StringRef Suffix, int &ResultFD,
llvm::SmallVectorImpl<char> &ResultPath,
FSEntity Type) {
- return createTemporaryFile(Prefix + "-%%%%%%." + Suffix, ResultFD, ResultPath,
+ const char *Middle = Suffix.empty() ? "-%%%%%%" : "-%%%%%%.";
+ return createTemporaryFile(Prefix + Middle + Suffix, ResultFD, ResultPath,
Type);
}
diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp
index b6c1dd8..2f19bb2 100644
--- a/unittests/Support/Path.cpp
+++ b/unittests/Support/Path.cpp
@@ -213,6 +213,7 @@ TEST_F(FileSystemTest, TempFiles) {
int FD2;
SmallString<64> TempPath2;
ASSERT_NO_ERROR(fs::createTemporaryFile("prefix", "temp", FD2, TempPath2));
+ ASSERT_TRUE(TempPath2.endswith(".temp"));
ASSERT_NE(TempPath.str(), TempPath2.str());
fs::file_status A, B;
@@ -230,6 +231,10 @@ TEST_F(FileSystemTest, TempFiles) {
ASSERT_NO_ERROR(fs::exists(Twine(TempPath2), TempFileExists));
EXPECT_FALSE(TempFileExists);
+ SmallString<64> TempPath3;
+ ASSERT_NO_ERROR(fs::createTemporaryFile("prefix", "", TempPath3));
+ ASSERT_FALSE(TempPath3.endswith("."));
+
// Create a hard link to Temp1.
ASSERT_NO_ERROR(fs::create_hard_link(Twine(TempPath), Twine(TempPath2)));
bool equal;