1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-22 20:44:15 +00:00

Free disk space calculation also works if the destination path does not exist

This commit is contained in:
Christophe Dumez 2010-06-22 11:53:49 +00:00
parent 0da83694e0
commit 0d85d0a777

View File

@ -134,9 +134,15 @@ QString misc::QDesktopServicesCacheLocation() {
long long misc::freeDiskSpaceOnPath(QString path) { long long misc::freeDiskSpaceOnPath(QString path) {
if(path.isEmpty()) return -1; if(path.isEmpty()) return -1;
path = path.replace("\\", "/");
QDir dir_path(path); QDir dir_path(path);
if(!dir_path.exists()) { if(!dir_path.exists()) {
if(!dir_path.cdUp()) return -1; QStringList parts = path.split("/");
while (parts.size() > 1 && !QDir(parts.join("/")).exists()) {
parts.removeLast();
}
dir_path = QDir(parts.join("/"));
if(!dir_path.exists()) return -1;
} }
Q_ASSERT(dir_path.exists()); Q_ASSERT(dir_path.exists());
#ifndef Q_WS_WIN #ifndef Q_WS_WIN