From: Christian Kamm Date: Wed, 26 Apr 2017 08:12:26 +0000 (+0200) Subject: SqlDatabase: Ask freeSpace for directory, fix for Windows X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~722^2~25 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f8c0e796df871b32b74ac91f4a1541690bf01c3e;p=nextcloud-desktop.git SqlDatabase: Ask freeSpace for directory, fix for Windows See owncloud/enterprise#1955 --- diff --git a/src/libsync/ownsql.cpp b/src/libsync/ownsql.cpp index e4cebd793..7008ccf52 100644 --- a/src/libsync/ownsql.cpp +++ b/src/libsync/ownsql.cpp @@ -17,6 +17,8 @@ #include #include #include +#include +#include #include "ownsql.h" #include "utility.h" @@ -101,8 +103,8 @@ bool SqlDatabase::openOrCreateReadWrite( const QString& filename ) if( !checkDb() ) { // When disk space is low, checking the db may fail even though it's fine. - qint64 freeSpace = Utility::freeDiskSpace(filename); - if (freeSpace < 1000000) { + qint64 freeSpace = Utility::freeDiskSpace(QFileInfo(filename).dir().absolutePath()); + if (freeSpace != -1 && freeSpace < 1000000) { qDebug() << "Consistency check failed, disk space is low, aborting" << freeSpace; close(); return false; diff --git a/src/libsync/utility.h b/src/libsync/utility.h index 5fb60c729..95febc911 100644 --- a/src/libsync/utility.h +++ b/src/libsync/utility.h @@ -43,6 +43,12 @@ namespace Utility OWNCLOUDSYNC_EXPORT QByteArray userAgentString(); OWNCLOUDSYNC_EXPORT bool hasLaunchOnStartup(const QString &appName); OWNCLOUDSYNC_EXPORT void setLaunchOnStartup(const QString &appName, const QString& guiName, bool launch); + + /** + * Return the amount of free space available. + * + * \a path must point to a directory + */ OWNCLOUDSYNC_EXPORT qint64 freeDiskSpace(const QString &path); /**