New Discovery: Fix trailing slash causing failure on windows
authorOlivier Goffart <ogoffart@woboq.com>
Thu, 1 Nov 2018 10:02:54 +0000 (11:02 +0100)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Tue, 15 Dec 2020 09:58:16 +0000 (10:58 +0100)
src/libsync/discovery.cpp

index 9623cb850d53a9ed85375188cd8eb2e6344c06d9..505e6f725112c8c409125420c482fcb7bf0131d7 100644 (file)
@@ -1227,7 +1227,10 @@ DiscoverySingleDirectoryJob *ProcessDirectoryJob::startAsyncServerQuery()
 
 bool ProcessDirectoryJob::runLocalQuery()
 {
-    auto dh = csync_vio_local_opendir((_discoveryData->_localDir + _currentFolder._local).toUtf8());
+    QByteArray localPath = (_discoveryData->_localDir + _currentFolder._local).toUtf8();
+    if (localPath.endsWith('/')) // Happens if _currentFolder._local.isEmpty()
+        localPath.chop(1);
+    auto dh = csync_vio_local_opendir(localPath);
     if (!dh) {
         qCInfo(lcDisco) << "Error while opening directory" << (_discoveryData->_localDir + _currentFolder._local) << errno;
         QString errorString = tr("Error while opening directory %1").arg(_discoveryData->_localDir + _currentFolder._local);