OSDN Git Service

avoid temporaries in QDir::mkdir(), QDir::rmdir(), QDir::mkpath() and QDir::rmpath()
authorIvailo Monev <xakepa10@laimg.moc>
Tue, 7 Jan 2020 02:52:01 +0000 (02:52 +0000)
committerIvailo Monev <xakepa10@laimg.moc>
Tue, 7 Jan 2020 02:52:01 +0000 (02:52 +0000)
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
src/core/io/qdir.cpp

index 41da26c..fb584eb 100644 (file)
@@ -1260,10 +1260,9 @@ bool QDir::mkdir(const QString &dirName) const
 
     const QDirPrivate* d = d_ptr.constData();
 
-    QString fn = filePath(dirName);
     if (!d->fileEngine)
-        return QFileSystemEngine::createDirectory(QFileSystemEntry(fn), false);
-    return d->fileEngine->mkdir(fn, false);
+        return QFileSystemEngine::createDirectory(QFileSystemEntry(dirName), false);
+    return d->fileEngine->mkdir(dirName, false);
 }
 
 /*!
@@ -1284,11 +1283,9 @@ bool QDir::rmdir(const QString &dirName) const
 
     const QDirPrivate* d = d_ptr.constData();
 
-    QString fn = filePath(dirName);
     if (!d->fileEngine)
-        return QFileSystemEngine::removeDirectory(QFileSystemEntry(fn), false);
-
-    return d->fileEngine->rmdir(fn, false);
+        return QFileSystemEngine::removeDirectory(QFileSystemEntry(dirName), false);
+    return d->fileEngine->rmdir(dirName, false);
 }
 
 /*!
@@ -1313,10 +1310,9 @@ bool QDir::mkpath(const QString &dirPath) const
 
     const QDirPrivate* d = d_ptr.constData();
 
-    QString fn = filePath(dirPath);
     if (!d->fileEngine)
-        return QFileSystemEngine::createDirectory(QFileSystemEntry(fn), true);
-    return d->fileEngine->mkdir(fn, true);
+        return QFileSystemEngine::createDirectory(QFileSystemEntry(dirPath), true);
+    return d->fileEngine->mkdir(dirPath, true);
 }
 
 /*!
@@ -1339,10 +1335,9 @@ bool QDir::rmpath(const QString &dirPath) const
 
     const QDirPrivate* d = d_ptr.constData();
 
-    QString fn = filePath(dirPath);
     if (!d->fileEngine)
-        return QFileSystemEngine::removeDirectory(QFileSystemEntry(fn), true);
-    return d->fileEngine->rmdir(fn, true);
+        return QFileSystemEngine::removeDirectory(QFileSystemEntry(dirPath), true);
+    return d->fileEngine->rmdir(dirPath, true);
 }
 
 /*!