diff --git a/kittens/transfer/algorithm.c b/kittens/transfer/algorithm.c index 2a8667087..43afdf9e3 100644 --- a/kittens/transfer/algorithm.c +++ b/kittens/transfer/algorithm.c @@ -672,7 +672,7 @@ enqueue(Differ *self, Operation op) { } break; case OpBlockRange: - if (self->pending_op.block_index+1 == op.block_index) { + if (self->pending_op.block_index_end+1 == op.block_index) { self->pending_op.block_index_end = op.block_index; return true; } diff --git a/tools/rsync/algorithm.go b/tools/rsync/algorithm.go index 9dd47082b..4f768a2b2 100644 --- a/tools/rsync/algorithm.go +++ b/tools/rsync/algorithm.go @@ -292,19 +292,15 @@ func (r *rsync) ApplyDelta(output io.Writer, target io.ReadSeeker, op Operation) switch op.Type { case OpBlockRange: for i := op.BlockIndex; i <= op.BlockIndexEnd; i++ { - err = write_block(Operation{ + if err = write_block(Operation{ Type: OpBlock, BlockIndex: i, - }) - if err != nil { + }); err != nil { return err } } case OpBlock: - err = write_block(op) - if err != nil { - return err - } + return write_block(op) case OpData: return write(op.Data) case OpHash: