summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2013-06-19 13:13:15 +0200
committerKai Koehne <kai.koehne@digia.com>2013-06-20 07:41:05 +0200
commit06ad8196d8a82acdf59f62ac81b19cca56a84006 (patch)
tree7e2a544fe8d5f6a9981277a89b8d565815e9e5bb /src/tools
parent57a6f04ce6f72737e39c7504d01ff61249cbfc6e (diff)
downloadqt-creator-06ad8196d8a82acdf59f62ac81b19cca56a84006.tar.gz
sdktool: Check for return value of mkpath
Change-Id: I946e2d5195ea0f9813fe7ebaa7dc2434579abbe5 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/sdktool/operation.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/tools/sdktool/operation.cpp b/src/tools/sdktool/operation.cpp
index 4083d00bdd..26813b82d0 100644
--- a/src/tools/sdktool/operation.cpp
+++ b/src/tools/sdktool/operation.cpp
@@ -120,9 +120,14 @@ bool Operation::save(const QVariantMap &map, const QString &file) const
return false;
}
- Utils::FileName dir = path.parentDir();
- if (!dir.toFileInfo().exists())
- QDir(dir.toString()).mkpath(dir.toString());
+ Utils::FileName dirName = path.parentDir();
+ QDir dir(dirName.toString());
+ if (!dir.exists() && !dir.mkpath(dirName.toString())) {
+ std::cerr << "Error: Could not create directory " << qPrintable(dirName.toString())
+ << "." << std::endl;
+ return false;
+ }
+
Utils::PersistentSettingsWriter writer(path, QLatin1String("unknown"));
return writer.save(map, 0)