aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Archive/ArchiveWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Archive/ArchiveWriter.cpp')
-rw-r--r--lib/Archive/ArchiveWriter.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Archive/ArchiveWriter.cpp b/lib/Archive/ArchiveWriter.cpp
index 59fb7bdd3f..c5ad5fc41c 100644
--- a/lib/Archive/ArchiveWriter.cpp
+++ b/lib/Archive/ArchiveWriter.cpp
@@ -364,8 +364,9 @@ Archive::writeToDisk(bool CreateSymbolTable, bool TruncateNames, bool Compress,
// Create a temporary file to store the archive in
SmallString<128> TempArchivePath;
int ArchFD;
- if (error_code ec = sys::fs::unique_file("%%-%%-%%-%%" + archPath.str(),
- ArchFD, TempArchivePath)) {
+ if (error_code ec =
+ sys::fs::unique_file("%%-%%-%%-%%-" + sys::path::filename(archPath.str()),
+ ArchFD, TempArchivePath)) {
if (ErrMsg) *ErrMsg = ec.message();
return true;
}
@@ -421,8 +422,9 @@ Archive::writeToDisk(bool CreateSymbolTable, bool TruncateNames, bool Compress,
// Open another temporary file in order to avoid invalidating the
// mmapped data
- if (error_code ec = sys::fs::unique_file("%%-%%-%%-%%" + archPath.str(),
- ArchFD, TempArchiveWithSymbolTablePath)) {
+ if (error_code ec =
+ sys::fs::unique_file("%%-%%-%%-%%-" + sys::path::filename(archPath.str()),
+ ArchFD, TempArchiveWithSymbolTablePath)) {
if (ErrMsg) *ErrMsg = ec.message();
return true;
}