Don't end a file name with a dot. It looks odd.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 25 Jul 2013 15:00:17 +0000 (15:00 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 25 Jul 2013 15:00:17 +0000 (15:00 +0000)
llvm-svn: 187124

llvm/lib/Support/Path.cpp
llvm/unittests/Support/Path.cpp

index 88137ea..6d10c0e 100644 (file)
@@ -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);
 }
 
index b6c1dd8..2f19bb2 100644 (file)
@@ -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;