Make sure a temporary file is always created in the global temporary dir.

This commit is contained in:
Enrico Forestieri 2015-03-13 00:31:08 +01:00
parent d752334ec4
commit cbad159ac2
2 changed files with 8 additions and 5 deletions

View File

@ -14,6 +14,7 @@
#include "support/debug.h"
#include "support/FileName.h"
#include "support/filetools.h"
#include "support/Package.h"
#include "support/qstring_helpers.h"
@ -47,14 +48,16 @@ struct TempFile::Private
TempFile::TempFile(FileName const & temp_dir, string const & mask)
{
QFileInfo tmp_fi(QDir(toqstr(temp_dir.absoluteFilePath())), toqstr(mask));
QFileInfo tmp_fi(QDir(toqstr(temp_dir.absoluteFilePath())),
toqstr(onlyFileName(mask)));
d = new Private(tmp_fi.absoluteFilePath());
}
TempFile::TempFile(string const & mask)
{
QFileInfo tmp_fi(QDir(toqstr(package().temp_dir().absoluteFilePath())), toqstr(mask));
QFileInfo tmp_fi(QDir(toqstr(package().temp_dir().absoluteFilePath())),
toqstr(onlyFileName(mask)));
d = new Private(tmp_fi.absoluteFilePath());
}

View File

@ -33,9 +33,9 @@ class TempFile {
public:
/**
*Create a temporary file with the given mask.
* \p mask must be in filesystem encoding, if it contains a
* relative path, the template file will be created in the global
* temporary directory as given by 'package().temp_dir()'.
* \p mask must be in filesystem encoding, the template file
* will be created in the global temporary directory as given
* by 'package().temp_dir()'.
* If the mask contains "XXXXXX" this portion will be replaced by
* a uniquely generated string. If it does not contain this portion,
* it will be automatically appended using a dot. Therefore, please