diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2018-09-21 17:46:47 +0300 |
---|---|---|
committer | Olivier Goffart <ogoffart@woboq.com> | 2018-09-21 18:21:44 +0300 |
commit | 570ae67851c6dfa66596407bce1fd619ce113d77 (patch) | |
tree | fd6f9b10f92acdcd923d933b25e9468d584c7901 | |
parent | 11cf37ac335d381bf7e343bb64ae5b0ce0d2e47c (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/zsync | 0 | ||||
-rw-r--r-- | src/libsync/propagatecommonzsync.cpp | 20 |
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; } |