Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2018-09-21 17:46:47 +0300
committerOlivier Goffart <ogoffart@woboq.com>2018-09-21 18:21:44 +0300
commit570ae67851c6dfa66596407bce1fd619ce113d77 (patch)
treefd6f9b10f92acdcd923d933b25e9468d584c7901
parent11cf37ac335d381bf7e343bb64ae5b0ce0d2e47c (diff)
zsync: Do not create an empty tmp file in the current folder
The test was failing because the current folder was not writable That was because zsync_parse was already creating the temporary file
m---------src/3rdparty/zsync0
-rw-r--r--src/libsync/propagatecommonzsync.cpp20
2 files changed, 4 insertions, 16 deletions
diff --git a/src/3rdparty/zsync b/src/3rdparty/zsync
-Subproject d06fd0dcef0fc46f5236d8dfa45c482bc5de55a
+Subproject 3d7c6be80d9ee56e8bcc8e1285b86ee874dd982
diff --git a/src/libsync/propagatecommonzsync.cpp b/src/libsync/propagatecommonzsync.cpp
index 0315010fe..2124a7d52 100644
--- a/src/libsync/propagatecommonzsync.cpp
+++ b/src/libsync/propagatecommonzsync.cpp
@@ -97,15 +97,6 @@ void ZsyncSeedRunnable::run()
zsyncControlFile.close();
rewind(f.get());
- zsync_unique_ptr<struct zsync_state> zs(zsync_parse(f.get()), [](struct zsync_state *zs) {
- zsync_end(zs);
- });
- if (!zs) {
- QString errorString = tr("Unable to parse zsync file.");
- emit failedSignal(errorString);
- return;
- }
-
QByteArray tmp_file;
if (!_tmpFilePath.isEmpty()) {
tmp_file = _tmpFilePath.toLocal8Bit();
@@ -117,14 +108,11 @@ void ZsyncSeedRunnable::run()
}
const char *tfname = tmp_file;
- if (zsync_rename_file(zs.get(), tfname) != 0) {
- QString errorString = tr("Unable to rename temporary file.");
- emit failedSignal(errorString);
- return;
- }
- if (zsync_begin(zs.get(), f.get())) {
- QString errorString = tr("Unable to begin zsync.");
+ zsync_unique_ptr<struct zsync_state> zs(zsync_begin(f.get(), tfname),
+ [](struct zsync_state *zs) { zsync_end(zs); });
+ if (!zs) {
+ QString errorString = tr("Unable to parse zsync file.");
emit failedSignal(errorString);
return;
}