X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=octopi%2Flibrary%2Ftentacles%2Ffile_transfer_tentacle.cpp;fp=octopi%2Flibrary%2Ftentacles%2Ffile_transfer_tentacle.cpp;h=23eee9de193ad5afb992e539d39c3e713d430049;hb=ab871f11081cec310c2e51a7d3b7ca148b1a99f6;hp=877672b11477a482e4453efcdd31c8d8e6ad1c78;hpb=625428deeff1532552592380f05d426bc2f1d018;p=feisty_meow.git diff --git a/octopi/library/tentacles/file_transfer_tentacle.cpp b/octopi/library/tentacles/file_transfer_tentacle.cpp index 877672b1..23eee9de 100644 --- a/octopi/library/tentacles/file_transfer_tentacle.cpp +++ b/octopi/library/tentacles/file_transfer_tentacle.cpp @@ -620,10 +620,12 @@ outcome file_transfer_tentacle::handle_storage_request (_correspondences->translate(the_rec->_src_root), *the_rec->_diffs, the_rec->_last_sent, resp->_packed_data, _maximum_transfer); if (bufret == heavy_file_operations::FINISHED) { - // finish by setting command to be a conclude marker. - the_rec->_done = true; - resp->_command = file_transfer_infoton::CONCLUDE_TRANSFER_MARKER; - bufret = OKAY; // now it's no longer an exceptional outcome. + bufret = OKAY; // in either case, we don't emit a finished outcome; handled elsewhere. + if (!resp->_packed_data.length()) { + // blank packages, so finish by setting command to be a conclude marker. + the_rec->_done = true; + resp->_command = file_transfer_infoton::CONCLUDE_TRANSFER_MARKER; + } } else if (bufret != OKAY) { // complain, but still send. LOG(astring("buffer files returned an error on item=")